Máy tính số


19

Mục tiêu của thử thách này là tính toán một loại chữ số học từ các chuỗi chứa các ký tự và số.

  • Đầu vào có thể thông qua bất kỳ phương thức thuận tiện nào (đầu vào tiêu chuẩn, đối số, tệp riêng biệt).
  • Các đầu vào có thể chứa bất kỳ ký tự ASCII in được, nhưng chỉ alphanumerical ( A-Z, a-z0-9) phải được xem xét.
  • Đầu ra phải là một chữ số giữa 19hoặc một ngôi sao *nếu không có chữ cái và không có chữ số nào được tìm thấy ... (hoặc ngay cả 0khi đầu vào có chứa bất kỳ số nào 0 không có gì khác nhưng điều này không quan trọng).
  • Giá trị chữ cái được ánh xạ theo cách này:

    1  2  3  4  5  6  7  8  9
    a  b  c  d  e  f  g  h  i
    j  k  l  m  n  o  p  q  r
    s  t  u  v  w  x  y  z
    
  • Chữ số số được tính bằng cách thêm từng giá trị của chuỗi, sau đó lặp lại cho đến khi chỉ còn một chữ số. Mẫu cho 13579, Hello, world!, 00 0 00, !@#$%^&*();, 3.141592:

    13579 => 1 + 3 + 5 + 7 + 9 = 25 => 2 + 5 = 7
    Hello, world! => 8 + 5 + 3 + 3 + 6 + 5 + 6 + 9 + 3 + 4 = 52 => 5 + 2 = 7
    00 0 00 => 0 + 0 + 0 + 0 + 0 = 0
    !@#$%^&*(); => *
      => *
    3.141592 => 3 + 1 + 4 + 1 + 5 + 9 + 2 = 25 => 2 + 5 = 7
    3.1415926535897932384 => 
     3 + 1 + 4 + 1 + 5 + 9 + 2 + 6 + 5 + 3 + 5 + 8 + 9 + 7 + 9 + 3 + 2 + 3 + 8 + 4
     = 97 => 9 + 7 = 16 => 1 + 6 = 7
    

    (Điều này thật tuyệt, hầu hết các mẫu này đều cho 7! Nhưng đó chỉ là mẫu;)

    Một số bài kiểm tra khác:

    Bob  => 2 + 6 + 2 = 10 => 1 + 0 = 1
    Charlie => 3 + 8 + 1 + 9 + 3 + 9 + 5 = 38 => 3 + 8 = 11 => 1 + 1 = 2
    Anna => 1 + 5 + 5 + 1 = 12 => 1 + 2 = 3
    Fana => 6 + 1 + 5 + 1 = 13 => 1 + 3 = 4
    Gregory => 7 + 9 + 5 + 7 + 6 + 9 + 7 = 50 => 5 + 0 = 5
    Denis => 4 + 5 + 5 + 9 + 1 = 24 => 2 + 4 = 6
    Erik => 5 + 9 + 9 + 2 = 25 => 2 + 5 = 7
    Helen => 8 + 5 + 3 + 5 + 5 = 26 => 2 + 6 = 8
    Izis => 9 + 8 + 9 + 1 = 27 => 2 + 7 = 9
    

Đây là một , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.

Ngắn nhất theo ngôn ngữ


0 sẽ không xuất hiện khi được thêm vào bất cứ thứ gì khác
F. Hauri

0 không liên quan! Sản lượng có liên quan là giữa 19!
F. Hauri

Bạn có thể thêm một số ví dụ không có ký tự chữ và số không?
Sản phẩm ETH

1
Tôi có nghĩa là một cái gì đó như !@#$%^&*(); một cái gì đó nên trở lại *.
Sản phẩm ETH

Rất khó để cưỡng lại việc trích dẫn điều này trong một số cuộc thảo luận phân tích kỹ thuật về lĩnh vực Tiền bạc ... ;-p
keshlam

Câu trả lời:


6

Matlab, 121 byte

s=[input('','s'),'*'];while nnz(s)>1;s=num2str(sum(mod([s(48<s&s<58)-4,s(96<s&s<123)+2,s(64<s&s<91)-2],9)+1));end;disp(s)

Matlab chỉ không được tạo cho chuỗi = (


3
Này, ít nhất thì nó không dài dòng như Mma: P
LegionMammal978

+1 của tôi, tôi không thể làm tốt hơn. btw, có cần thiết phải đưa ra disptuyên bố?
brainkz

@brainkz Có thể, nhưng tôi thường cho rằng nó ở bên an toàn
flawr

3

Toán học, 174 168 163 byte

Catch[#-9Floor[Max[#-1,1]/9]&@If[(a=Tr[Characters@#/.{(b=a_String)?DigitQ:>FromDigits@a,b?LetterQ:>LetterNumber@a~Mod~9,b->0}])<1&&#~StringFreeQ~"0",Throw@"*",a]]&

Bước đầu tiên, sau đó tính toán gốc kỹ thuật số.


3

Ruby, 97 74 ký tự

n=->s{(t=eval s.tr('a-z9A-Z','1-9'*6).scan(/\d/)*?+)&&t>9?n[t.to_s]:t||?*}

Chạy mẫu:

2.1.5 :001 > n=->s{(t=eval s.tr('a-z9A-Z','1-9'*6).scan(/\d/)*?+)&&t>9?n[t.to_s]:t||?*}
 => #<Proc:0x00000001b4b3f0@(irb):4 (lambda)> 

2.1.5 :002 > puts ['13579', 'Hello, world!', '00 0 00', '!@#$%^&*();', ' ', '3.141592', '3.1415926535897932384', 'Bob', 'Charlie', 'Anna', 'Izis'].map{|s|'%s : %s'%[n[s],s]}
7 : 13579
7 : Hello, world!
0 : 00 0 00
* : !@#$%^&*();
* :  
7 : 3.141592
7 : 3.1415926535897932384
1 : Bob
2 : Charlie
3 : Anna
9 : Izis

3

Perl, 91 89 76 74 byte

73 + 1 cho -pcông tắc

s/[a-z]/(ord($&)%32-1)%9+1/eig;$t="*",s/\d/$t+=$&/eg,$_=$t until/^[*\d]$/

Xét nghiệm

for test in '13579' 'Hello, world!' '00 0 00' '!@#$%^&*();' ' ' \
    '3.141592' '3.1415926535897932384' \
    Bob Charlie Anna Fana Gregory Denis Erik Helen Izis ;do  
    perl -pe '
      s/[a-z]/(ord($&)%32-1)%9+1/eig;$t="*",s/\d/$t+=$&/eg,$_=$t until/^[*\d]$/
      ' < <(echo -n "$test")
    echo "  $test"
done
7  13579
7  Hello, world!
0  00 0 00
*  !@#$%^&*();
*   
7  3.141592
7  3.1415926535897932384
1  Bob
2  Charlie
3  Anna
4  Fana
5  Gregory
6  Denis
7  Erik
8  Helen
9  Izis

Cảm ơn @manatwork đã giúp tôi tiết kiệm 2 14 16 15 17 ký tự !!

... Tôi đã nghĩ về: N % 32 + Ycó thể thay thế( N & 31 ) + Y !


1
Nếu bạn chụp toàn bộ chuỗi con phù hợp, $1bằng với $&. Vì vậy, tốt hơn loại bỏ việc chụp và thay đổi tên biến.
manatwork

1
whileKhối của có thể được $t="*";s/\d/$t+=$&/eg;$_=$t.
manatwork

1
Xin lỗi, nhưng nó thực sự dài hơn 1 ký tự, vì bạn nên bao gồm công -ptắc trong số đếm.
manatwork

1
Xin lỗi lần nữa (lần này là một lời xin lỗi lớn hơn), nhưng nó không thành công với đầu vào ký tự không phải từ, ví dụ: Kết quả! ( Có vẻ hoạt động vì với chuỗi ở đây, đầu vào luôn được truyền bằng một dòng mới, vì vậy trong các trường hợp thử nghiệm của bạn không bao giờ vượt qua đầu vào ký tự đơn. Sử dụng echo -n "$test" | perl -pe '…'để xem ý tôi là gì.) Bạn có thể giải quyết nó bằng cách thay đổi whileđiều kiện thành !/^[\d*]$/. Trong khi ở đó, để giảm mất điểm, bạn có thể thay thế toàn bộ whilebằng : $t="*",s/\d/$t+=$&/eg,$_=$t until/^[\d*]$/.
manatwork

1
Có một cải tiến nữa bạn có thể làm. Như &có mức độ ưu tiên thấp hơn +, trong khi %có mức cao hơn, thay đổi &31%32và bạn có thể loại bỏ các dấu ngoặc đơn xung quanh biểu thức con đó.
manatwork

3

ES6, 98 byte

s=>(m=s.match(/[1-9a-z]/gi))?(t=8,m.map(c=>t+=c>'@'?c.charCodeAt()&31:+c),t%9+1):/0/.test(s)?0:'*'

Ung dung:

function(s) {
    var m = s.match(/[1-9a-z]/gi);
    if (m) {
        var t = 0;
        for (var i = 0; i < m.length; i++) {
            if (m[i] > '@')
                t += m[i].charCodeAt(0) & 31;
            else
                t += parseInt(m[i]);
        }
        return t % 9 || 9;
    }
    return /0/.test(s) ? 0 : "*";
}

Phiên bản 94 byte chỉ hoạt động trên các chuỗi ngắn:

s=>(m=s.match(/[1-9a-z]/gi))?m.map(c=>c>'@'?c.charCodeAt()&31:c).join``%9||9:/0/.test(s)?0:'*'

Sử dụng match, mapjoinhóa ra là ngắn hơn so với sử dụng replacehai lần:

s=>(m=s.replace(/[^1-9a-z]/gi,''))?m.replace(/[a-z]/gi,c=>c.charCodeAt()&31)%9||9:/0/.test(s)?0:'*'

Kiểm tra tại đây: https://jsbin.com/zizosayisi/edit?js,console


Điều này không hoạt động cho đầu vào00 0 00
rink.attguard.6

@ rink.attguard.6 Ah, REPL tôi đang sử dụng chỉ in ["0"]0vậy tôi không thể nói sự khác biệt.
Neil

Nhiều, tốt hơn nhiều so với phiên bản @ rink.attguard.6! Thông minh hack golf sử dụng. Bạn có thể giải thích > '@', & 31|| 9?
Pavlo

1
@Pavlo > '@'chỉ phân biệt chữ cái và số. & 31là một cách hữu ích để bỏ qua sự khác biệt giữa mã ký tự chữ hoa và chữ thường, vì nó cũng thuận tiện trực tiếp ánh xạ mã ký tự thành các giá trị 1., 26. || 9được sử dụng bởi vì % 9trả về 0 cho bội số của 9 nhưng liên tục thêm các chữ số trả về 9 cho bội số khác không của 9. Trong mã golf tôi sử dụng (t + 8) % 9 + 1thay cho cùng một điều.
Neil

Ngôn ngữ thường được đặt tên là "JavaScript (ES6)"
edc65

2

Gema, 161 ký tự

*=@n{*}
n:\A=@set{t;};<L1>=@set{t;@add{$t;@add{@mod{@sub{@mod{@char-int{$0};32};1};9};1}}};<D1>=@set{t;@add{$t;$0}};?=;\Z=@cmps{$t;;;\*;@cmpn{$t;9;$t;$t;@n{$t}}}

(Chỉ được viết để thử xem các cuộc gọi miền đệ quy có hoạt động không.)

Chạy mẫu:

bash-4.3$ for input in '13579' 'Hello, world!' '00 0 00' '!@#$%^&*();' ' ' '3.141592' '3.1415926535897932384'; do
>     echo -n "'$input' : "
>     gema '*=@n{*};n:\A=@set{t;};<L1>=@set{t;@add{$t;@add{@mod{@sub{@mod{@char-int{$0};32};1};9};1}}};<D1>=@set{t;@add{$t;$0}};?=;\Z=@cmps{$t;;;\*;@cmpn{$t;9;$t;$t;@n{$t}}}' <<< "$input"
>     echo
> done
'13579' : 7
'Hello, world!' : 7
'00 0 00' : 0
'!@#$%^&*();' : *
' ' : *
'3.141592' : 7
'3.1415926535897932384' : 7

1

JavaScript (ES6), 162 159 157 byte

f=_=>{for(_=_.replace(/\W+/g,''),g=$=>''+[...$.toUpperCase()].reduce((p,a)=>isNaN(a)?p+(a.charCodeAt()-64)%9:+a+p,0);1<(l=_.length);_=g(_));return!l?'*':g(_)}

Vẫn đang cố gắng tìm cách sử dụng trả về ngầm trong hàm ngoài.

Ungolfed + chưa hoàn thành

f = str => {
  str = str.replace(/\W+/g, '');
  recursiveFunc = $ => String([...$.toUpperCase()].reduce(
    (prev, val) => isNaN(val) ? prev + (val.charCodeAt() - 64) % 9 : Number(val) + prev,
    0
  ));
  while (1 < (len = str.length)) {
    str = recursiveFunc(str);
  }
  return len === 0 ? '*' : recursiveFunc(str)
}
  1. Loại bỏ tất cả các ký tự không chữ và số
  2. Gọi một hàm đệ quy để giảm các ký tự thành giá trị tương ứng của chúng trong khi chuỗi dài hơn 1 ký tự.
    1. Chuyển đổi chuỗi thành chữ hoa để dễ dàng làm việc với mã ASCII
    2. Chuyển đổi sang mảng bằng toán tử trải và chạy bộ tích lũy
    3. Sử dụng isNaNhàm toàn cục (đưa ra đầu vào của nó) để kiểm tra xem nó có phải là số không
      • Nếu không, hãy chuyển đổi sang mã ASCII và mod 9 để nhận giá trị tương ứng
      • Nếu nó là một số, bỏ nó
  3. Nếu độ dài bằng 0, không có ký tự chữ và số (trả lại dấu hoa thị), nếu không trả về đầu ra của hàm đệ quy.

Quy tắc phá vỡ này 00 0 00, đầu ra *thay vì 0!
F. Hauri

@ F.Hauri Đã sửa.
rink.attguard.6

Bạn có thể tránh trả lại rõ ràng bằng cách sử dụng toán tử comman: _=>{expr;return expr}=>_=>(expr,expr)
Pavlo

@Pavlo Làm thế nào để tôi áp dụng điều đó trong trường hợp của tôi?
rink.attguard.6

Không hoạt động với tôi, ném SyntaxError: jsbin.com/havotusoqa/1/edit?js,console
Pavlo

1

Haskell, 126 byte

l x=[n|(c,n)<-zip(['0'..'9']++['a'..'z']++'\0':['A'..'Z'])$0:cycle[1..9],c==x]
g[]="*"
g[x]=show x
g x=f$show$sum x
f=g.(l=<<)

Cách sử dụng: f "Hello, world!"-> "7".

llà bảng tra cứu các ký tự để liệt kê các số nguyên (danh sách singleton, nếu tìm thấy char, danh sách trống khác). ftra cứu mọi char của đối số và làm phẳng danh sách danh sách được trả về thành một danh sách đơn giản các số nguyên và lệnh gọi gđể kiểm tra điều kiện kết thúc (danh sách trống (-> *) hoặc số nguyên đơn) hoặc gọi ftổng số danh sách cho một vòng khác.


1

MATL , 64 byte

jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']

Điều này sử dụng phiên bản hiện tại (4.0.0) của ngôn ngữ.

Tôi có cảm giác rằng nó có thể được rút ngắn ...

Các trường hợp thử nghiệm

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> 13579
7

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> Hello, world!
7

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> 00 0 00
0

>> matl 
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> !@#$%^&*();
*

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> 3.141592
7

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> 3.1415926535897932384
7

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> Bob
1

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> Charlie
2

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> Anna
3

>> matl
 > jk42ht`YUt'[a-z]'XXY}3+w'[1-9]'XXY}6+h,9X\st9>]w2Y24Y2h!=~?x'*']
 > 
> Izis
9

Thật không may, tôi không thể kiểm tra mẫu của bạn. Vui lòng gửi toàn bộ các trường hợp thử nghiệm, bao gồm các thử nghiệm được thêm gần đây (xin lỗi).
F. Hauri

@ F.Hauri Vâng, bạn cần Matlab để kiểm tra chúng. Xin lỗi về điều đó, chưa có trình biên dịch trực tuyến nào. Tôi đã thêm các trường hợp thử nghiệm
Luis Mendo

1

Nghiêm túc, 50 byte

,$ù;ú1╤▀+;#pX╗@-@-;Y`'*.`╬X1WX`╜í;s9*@%u`MΣ$;lDWX

Bãi rác Hex:

2c24973ba331d1df2b3b237058bb402d402d3b5960272a2e7f
60ce5831575860bda13b73392a402575604de4243b6c445758

Dùng thử trực tuyến

Giải thích:

,$ù                                               Read input, make it a string, lowercase
    ú                                             Push lowercase alphabet
     1╤▀+                                         Prepend base 10 digits.
         ;#pX╗                                    Remove "0" from a copy and stash in reg0
   ;          @-                                  Remove alphanumerics from input copy
                @-                                Remove nonalphanumerics from input
                  ;Y                              Push 1 if string is empty, else 0
                    `'*.`╬                        If top is truthy, output * and halt
                          X                       Discard boolean
                           1                      Push 1 to enter loop
                            WX                 WX Loop while top of stack is truthy
                              `         `M        Map this function over the string
                               ╜                  Push alphanumeric string from reg0
                                í                 Push index of this char in it
                                 ;s9*             Push 9 if found, else -9
                                     @%u          Take index mod previous: this yields the
                                                  correct conversion from the numerology
                                          Σ       Sum the resulting digits.
                                           $      Convert the sum to a string.
                                            ;lD   push 1 less than its length

@ F.Hauri Nhấp vào "Dùng thử trực tuyến". nhập trường hợp kiểm tra của bạn vào hộp đầu vào.
quintopia

1

Bình thường, 39 byte

IK@J+jkUTGrz0WtK=K`smh%xtJd9-K\0)K).?\*

Dùng thử trực tuyến

Tôi chỉ làm điều này vì tôi không thể ngủ được. Có lẽ tôi sẽ giải thích nó vào ngày mai ...


1

Bash thuần, 199 194 byte

eval a+={a..z};r="$1";while [ "${r:1}" ];do o=;for ((i=0;i<${#r};i++));do
l=${r:i:1};case $l in [a-zA-Z])d=${a%${l,}*};((o+=$((${#d}%9+1))));;[0-9])
((o+=l));;esac;done;r="$o";done;echo "${o:-*}"

(ngắt dòng thứ hai chỉ để tránh thanh cuộn)

Quy tắc kiểm tra:

numerology() {
    eval a+={a..z};
    r="$1";
    while [ "${r:1}" ]; do
        o=;
        for ((i=0; i<${#r}; i++))
        do
            l=${r:i:1};
            case $l in 
                [a-zA-Z])
                    d=${a%${l,}*};
                    ((o+=$((${#d}%9+1))))
                ;;
                [0-9])
                    ((o+=l))
                ;;
            esac;
        done;
        r="$o";
    done;
    echo "${o:-*}"
}

for test in '13579' 'Hello, world!' '00 0 00' '!@#$%^&*();' ' ' \
            '3.141592' '3.1415926535897932384'\
            Bob Charlie Anna Fana Gregory Denis Erik Helen Izis ;do
    echo "$(numerology "$test")" $test
done
7 13579
7 Hello, world!
0 00 0 00
* !@#$%^&*();
*
7 3.141592
7 3.1415926535897932384
1 Bob
2 Charlie
3 Anna
4 Fana
5 Gregory
6 Denis
7 Erik
8 Helen
9 Izis

1

JavaScript (ES6), 78 83

Giải pháp đệ quy. Là đệ quy đuôi, các biến t và r không phải là cục bộ.

f=x=>(t=r=0,x.replace(/\w/g,d=>t+=1+~-parseInt(d,r=36)%9),t>9?f(''+t):r?t:'*')

Giải thích

f=x=>(
  t = 0, // set initial value of counter to 0 
  r = 0, // flag to verify that we found at last one alphanumeric chars
  x.replace(/\w/g, d => ( // execute the following for each alphanumeric character
    // t += 1 + ~-parseInt(d,r=36) % 9 explained below
    r = 36, // set flag, could be any nonzero value
    d = parseInt(d,36), // convert to numeric. a..z -> 10..25, case insensitive.
    d = 1 + (d-1) % 9, // this is the arithmetic conversion required (
                       // works also with 0 because the strange implementation of % in javascript for negative numbers
    t = t + d // add to global counter
  ) ), 
  t > 9 // if t > 9 then we found some alphanumeric char, but we must repeat the loop on t
    ? f(''+t) // recursive call, t is numeric and must become a string
    : r // check flag r 
      ? t // if alphanumeric found, return t 
      : '*' // else return '*'
)

Kiểm tra đoạn

f=x=>(t=r=0,x.replace(/\w/g,d=>t+=1+~-parseInt(d,r=36)%9),t>9?f(''+t):r?t:'*')

console.log=x=>O.textContent+=x+'\n';

;[['13579',7],['Hello, world!',7],['00 0 00',0],['!@#$%^&*();','*'],
['3.141592',7],['3.1415926535897932384',7],
['Bob', 1],['Charlie', 2],['Anna', 3],['Fana', 4],['Gregory', 5],
['Denis', 6],['Erik', 7],['Helen', 8],['Izis', 9]]
.forEach(t=>{
  i=t[0]+''
  k=t[1]
  r=f(i)
  console.log(i+' -> ' + r + (k==r? ' OK':' Fail - expected '+k))
  })
<pre id=O></pre>


0

Python, 154 byte

def A(S):
 D=lambda x:int(x)if x.isdigit()else (ord(x.lower())-6)%9
 while len(S)>1:S=str(sum([D(c)for c in S if c.isalnum()]))
 print S if int(S)else"*"

Thử nghiệm thất bại này với 00 0 00!
F. Hauri

0

Toán học, 133 byte

f[s_]:= ToCharacterCode@ToUpperCase@s-64/.{a_/;17>-a>6:>a+16,b_/;b<1||b>26:>""}//If[Or@@NumberQ/@#,Tr@#/.""->0//.a_:>Tr@IntegerDigits@a,"*"]&

Một chút khác biệt so với LegionMammal978 ở trên. Hàm của tôi biến mọi thứ thành mã ký tự, sau đó lọc ra những thứ không phải là chữ và số (thay thế chúng bằng các chuỗi trống). Nếu không có chữ và số, thì nó trả về *, nếu không, nó sẽ lấy gốc kỹ thuật số. Thời gian này có thể ngắn hơn đáng kể (~ 15B) nếu tôi không phải xử lý trường hợp toàn bộ số không. C'est la vie.

Phép thuật toán học, đối với người không quen thuộc: foo//.a_:>Tr@IntegerDigits@alà sự thay thế lặp đi lặp lại: nó thay thế bất kỳ số nào atrong foo bằng tổng các chữ số của chúng, sau đó nó thay thế một lần nữa cho đến khi chạm vào một điểm cố định, tức là adừng thay đổi khi thay thế.

Các xét nghiệm:

f /@ {"13579", "Hello,world!", "00 0 00", "!@#$%^&*()", "3.141592","3.1415926535897932384"}
     => {7, 7, 0, "*", 7, 7}
f /@ {"Bob", "Charlie", "Anna", "Fana", "Gregory", "Denis", "Erik",  "Helen", "Izis"}
     => {1, 2, 3, 4, 5, 6, 7, 8, 9}

Thật không may, tôi không thể kiểm tra mẫu của bạn. Vui lòng gửi trường hợp kiểm tra
F. Hauri

Trên đường. Trong khi kết hợp các bài kiểm tra, tôi cũng đã tìm thấy một số lỗi chính tả để sửa. Cảm ơn;)
hYPotenuser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.