Реалізуйте калькулятор iOS 11


43

iOS 11 має помилку , завдяки якій результат 1 + 2 + 3 стає 24 . Це пов’язано зі швидкістю анімації, але все одно:

Завдання - скласти 1 + 2 + 3 == 24. Але тільки це. Отже, ви повинні надати функцію, яка правильно підсумовує більшість послідовностей, але повертається, 24коли аргументи є 1, 2і 3в будь-якому порядку.

Приклади входів:

1 2 => 3
3 4 => 7
1 2 3 4 5 6 7 8 9 => 45
3 2 1 => 24
2 1 3 => 24
1 1 => 2
1 2 3 => 24
40 2 => 42
1 2 2 4 => 9
1 2 3 4 1 2 3 => 16
1 => 1
1 23 => 24
0 1 2 => 3
3 2 3 => 8

Введення може бути в будь-якому форматі, якщо ваш код приймає будь-яку кількість аргументів.

  • Підтримка негативних чисел не потрібна (для роботи потрібні всі негативні номери, включаючи 0)
  • Ми припускаємо правильне введення

Відмінності від іншого подібного запитання: "Що ви отримуєте, коли множите 6 на 9? (42)" :

  • У цьому випадку ваша функція зобов'язана приймати будь-яку кількість аргументів. Старе питання вказує рівно 2.
  • У цьому випадку порядок не має значення, тоді як у старому запитанні було вказано, що замовлення 6 9потрібно та його 9 6слід правильно оцінити.

23
Також iOS 11 не працює так. Він повинен бути таким . ( пояснення коду )
користувач202729

3
@ user202729 Питання, ймовірно, натхнене iOS 11. Я не думаю, що ОП просить вас повністю його повторити.
Okx

2
@Okx точно. Це для розваги, а не для його реалізації 1 до 1. Звичайно, це може бути змінено на пропозицію user202729, але якщо він хоче, він може створити нову проблему з таким завданням.
Hauleth

3
Цілі входи?
xnor

9
Однією з причин цього є гарне завдання - це властивість, пов'язана з тим, що ця комбінація чисел є дуже особливою. Інша причина, чому це красива проблема, полягає в тому, що вона розважає Apple за пріоритетність (їх ідея) UX над функціональністю.
NH.

Відповіді:


11

MATL , 11 10 байт

St3:X=6*+s

Спробуйте в Інтернеті! або перевірити всі тестові випадки

Пояснення

        % implicit input [3,1,2]
S       % sort
        % STACK: [1,2,3]
t       % duplicate elements
3:      % push range 1..3
        % STACK: [1,2,3], [1,2,3], [1,2,3]
X=      % true if arrays are numerically equal
        % STACK: [1,2,3], 1
6*+     % multiply result of comparison by 6 and add to the original array
        % STACK: [7,8,9]
s       % sum
        % (implicit) convert to string and display


11

Java 8, 109 106 101 90 75 74 71 66 байт

a->{int s=0,p=0;for(int i:a){s+=i;p|=1<<i;}return s<7&p==14?24:s;}

-12 байт завдяки @ OlivierGrégoire .
-31 байт завдяки @Nevay .

Пояснення:

Спробуйте тут.

a->{                  // Method with integer-array parameter and boolean return-type
  int s=0,            //  Sum-integer, starting at 0
      p=1;            //  Product-integer, starting at 1
  for(int i:a){       //  Loop over the input-array
    s+=i;             //   Add current item to sum
    p|=1<<i;          //   Take 1 bitwise left-shifted with `i`, and bitwise-OR it with `p`
  }                   //  End of loop
  return p==14        //  If `p` is now exactly 14 (`0b1110`)
    &s<7?             //  and the sum is 6 or lower:
     24               //   Return 24
    :                 //  Else:
     s;               //   Return the sum
}                     // End of method

(Неефективний) доказ того, що лише [1,2,3](у будь-якому порядку) будуть можливі результати, коли pце 0b1110( p==14) і сума нижче 6 або менша ( s<7): Спробуйте тут.

p==14( 0b1110) Обчислюється як істина тоді і тільки тоді вхідні значення по модулю 32 кришки значення 1, 2і 3та не містять жодних інших значень ( p|=1<<i) (кожне значення має відбутися 1+ рази). Сума вхідних даних, що відповідає, p==14буде більшою, ніж 6для будь-якого введення, крім 1,2,3( s=a*1+b*2+c*3+u*32з a>0,b>0,c>0,u>=0).
@Nevay


Старий 71 байт відповідає:

a->{int s=0,p=1;for(int i:a){s+=i;p*=i;}return a.length==3&p==s?s*4:s;}

Підтвердження того, що для будь-яких трьох заданих ненульових натуральних чисел, лише [1,2,3](у будь-якому порядку) буде сума, що дорівнює його добутку ( 1+2+3 == 1*2*3) (з додатною сумою):
Коли сума дорівнює добутку Лео Курландчика та Анджея Новицького

(Неефективний) доказ того, що лише [1,2,3](у будь-якому порядку) і [0,0,0]будуть можливі результати з негативними числами та довжиною 3: Спробуйте тут.
Так s*4воля стає 6*4 = 24для [1,2,3], і 0*4 = 0для [0,0,0].



7

MATL , 13 байт

stGp=18*Gda*+

Спробуйте в Інтернеті!

Це на два байти довше, ніж на іншу відповідь MATL, але він використовує зовсім інший (і ІМО цікавіший) підхід, тому я зрозумів, що це варто опублікувати.

Пояснення:

Це рішення використовує той факт, що:

Сума і добуток масиву з трьома елементами рівні, лише якщо масив є перестановкою 1,2,3.

Це приймає вхід, обчислює суму sі дублює її t. Потім він перевіряє, чи сума дорівнює продукту Gp=. Ми множимо булеве значення 1/0на 18, 18*і перевіряємо, чи є неідентичні значення у векторі da*(знову ж таки, множимо на булеве значення any(diff(x)). Потім множимо два, додаємо останнє число до початкової суми.

Покрокове пояснення:

Припустимо, вхід [1, 2, 3]:

s                              % Implicit input, calculate the sum
                               % 6
 t                             % Duplicate the sum:
                               % 6, 6
  G                            % Grab input
                               % 6, 6, [1,2,3]
   p                           % Calculate the product
                               % 6, 6, 6
    =                          % Check if the last two elements are equal
                               % 6, 1 (true)
     18*                       % Push 18, multiply by the last number
                               % 6, 18
        G                      % Grab input
                               % 6, 18, [1,2,3]
         d                     % Calculate the difference between each element
                               % 6, 18, [1,1]
          a                    % any non zero elements?
                               % 6, 18, 1 (true)
           *                   % Multiply last two numbers
                               % 6, 18
            +                  % Add numbers. Result: 24

6

Python 2 , 39 байт

lambda*a:sum(a)+18*(sorted(a)==[1,2,3])

Спробуйте в Інтернеті!

Використовується альтернативний метод додавання 18, якщо відсортований вхід має [1, 2, 3]бити інший відповідь Python байтом.


sorted(a)==[1,2,3]може стати set(a)=={1,2,3}для збереження 3 байтів.
mypetlion

1
@mypetlion На жаль, це відповідатиме спискам з дублікатами, такими як[1, 2, 3, 3]
FlipTack

Вупи. Я, хоча нас обмежили рівно 3 входами.
mypetlion

6

Хаскелл , 37 байт

f[a,b,c]|2^a+2^b+2^c==14=24
f l=sum l

Спробуйте в Інтернеті!

Ми використовуємо відповідність шаблонів, щоб визначити винятковий випадок.

У Haskell немає вбудованого сортування. Рівність 2^a+2^b+2^c==14задовольняється лише [a,b,c]перестановкою [1,2,3]серед невід’ємних цілих чисел. Коротше a+b+c=a*b*cмайже працює, але його задовольняє [0,0,0], а додавання чека ,a>0робить його на 1 байт довшим.


4

Октава , 34 байти

@(x)sum(x)+isequal(sort(x),1:3)*18

Спробуйте в Інтернеті!

або

@(x)(s=sum(x))+18*~(s-6|prod(x)-6)

Спробуйте в Інтернеті!

або

@(x)(s=sum(x))+18*~(s-prod(x)|s-6)

Це менше , ніж інші використовують підхід: @(x){24,sum(x)}{2-isequal(sort(x),1:3)}.

Пояснення:

Він бере суму вектора і додає 18, якщо відсортований вектор дорівнює 1,2,3. Це дасть, 6+18=24якщо вектор перестановка 1,2,3, і просто сума вектора, якщо ні.


4

PHP, 116 байт

Це моя перша спроба гольф-виклику коли-небудь, І це PHP, мова, яка, очевидно, смокче в гольфі, оскільки я рідко бачу його тут, так що ... ум, я спробував?

<?php
//call as var/www/html/cg_ios.php --'1 2 3 4 5'
$i=$argv[1];$a=(explode(' ',$i));echo((($b=array_sum($a))==6&&count($a)==3&&in_array(3,$a)&&!in_array(0,$a)?24:$b));

Примітка: я не включив коментар до облікового запису.

Безумовно

Це нічого особливого tbh:

$i=$argv[1];             //Read the input from the command line
$a=array_filter($c=explode(' ',$i)) //Split the input string into an array, use Whitespace as delimiter
                         //also, remove all 0 from the array, since they are not important at all
echo(                    //print the result
    ($b=array_sum($a) == 6  //If The SUM of the Array is 6 ...
        &&               //... AND ...
    (count($c) == 3)     //... the array has exactly 3 values ...
        &&               //... AND ...
    in_array(3,$a)       // ... the array contains the value 3 ...
        &&               // ... AND ...  
    !in_array(0,$a)      //... the array contains no zeros
        ?
    24                   //print 24
        :
    $b));     //print the sum of the array values we saved earlier

Якщо ви хочете перевірити це в PHPFiddle, а не на консолі, ви, очевидно, можете замінити $iвсе, що завгодно.

Дякую Олів'є Грегоару, який дав мені знати про поєднання рядків, [0,3,3]яке повернулося раніше 24, а також допомогло мені зберегти кілька символів, зберігаючи array_sumта повертаючи цю функцію, а не запускаючи функцію знову.


Ласкаво просимо на сайт і приємне перше повідомлення!
caird coinheringaahing

Що з вхідними значеннями [0, 3, 3]? Крім того, ви не можете зберегти результат array_sum($a)змінної та використати її повторно?
Олів'є Грегоар

@ OlivierGrégoire Це теж виправлено зараз, я, очевидно, пропустив цю справу. Я, мабуть, міг би придумати краще рішення, бо це - навіть на мої стандарти - справді ... безладний.
НЕ РОБОТИ

Код для гольфу не вистачає $ на argv [1]
manassehkatz

4

R, 47 байт 34 байт 36 байт

x=scan();all(sort(x)==1:3)*18+sum(x)

Спробуйте в Інтернеті!

Підсумуйте вхід і додайте 18, якщо набір вводу дорівнює 1: 3.
Дякуємо @mlt за те, що ти граєш на 11 байт. Дякуємо @ Ayb4btu за виявлення помилки із кодом, який перевершив


3

Javascript ES6, 39 байт

Завдяки @Herman Lauenstein

a=>a.sort()=="1,2,3"?24:eval(a.join`+`)

f=a=>a.sort()=="1,2,3"?24:eval(a.join`+`)

console.log(f([1,2,3]));
console.log(f([1,2,3,4]));

Попередня відповідь

Javascript ES6, 66 байт

a=>(n=[1,2,3],a.every(_=>n.includes(_))?24:a.reduce((x,y)=>x+y,0))

Спробуй це

f=a=>(n=[1,2,3],a.every(_=>n.includes(_))?24:a.reduce((x,y)=>x+y,0))

console.log(f([1,2,3]));
console.log(f([1,3,2]));
console.log(f([1,2,3,4]));


58 байт:a=>(Array.sort(a).join()=="1,2,3"?24:a.reduce((x,y)=>x+y))
Okx

a.sort()=="1,2,3"працює.
Ніл

39 байт: a=>a.sort()=="1,2,3"?24:eval(a.joinBT+BT)(замініть BT на задній план)
Herman L

3

Свіфт, 67 байт

func z(i: [Int])->Int{return i.sorted()==[1,2,3] ?24:i.reduce(0,+)}

Могло зробити це до 27 байт з розширеннями на [Int], але це було б обманом :(


1
Ласкаво просимо на сайт! Це змагання з гольфу на коді, будь ласка, чи можете ви гольф кодувати якомога більше, наприклад, видаляючи пробіли. Крім того, я не знаю Swift, але якщо я правильно, це зберігає введення в змінну, що заборонено. Тим не менш, ти можеш перетворити це на функцію.
caird coinheringaahing

1
Гольф трохи вниз : func z(i:[Int]){print(i.sorted()==[1,2,3] ?24:i.reduce(0,+))}.
Містер Xcoder

1
Або 55 байт (-12):, {$0.sorted()==[1,2,3] ?24:$0.reduce(0,+)}as([Int])->Intоскільки анонімні функції дозволені нашими стандартними правилами. Ви можете побачити , як це працює тут .
Містер Xcoder

@ Mr.Xcoder, ви можете опустити кастинг і додати його до константи f, яку ви заявляєте. або помістіть тип всередині закриття, і ви позбудетесь as:)
Домінік Бючер

2
+1 для Swift. Це оригінальний вихідний код калькулятора iOS?
ГБ


2

J, 17 байт

-6 байт завдяки Frowny Frog

+/*1+3*1 2 3-:/:~

Підсумуйте всі числа +/і результат помножте на (псевдокод) 1 + 3*(is123 ? 1 : 0). Тобто повертайте результати незмінними, якщо в цьому випадку відсортований список не 1 2 3помножимо результат на 4.

Спробуйте в Інтернеті!

оригінальна відповідь

+/`(24"_)@.(1 2 3-:/:~)

Перевірте, чи відсортований вхід 1 2 3- якщо так, викликайте постійну функцію 24 ( 24"_); якщо ні, поверніть суму+/

Спробуйте в Інтернеті!


Я насправді не знаю J, але можу 1 2 3i.3?
Урієль

@Uriel, i.3виробляє 0 1 2, тож вам доведеться робити це, 1+i.3що не економить ніяких ознак, але є менш зрозумілим.
Йона

вірно, я забув, що J індексовано 0
Уріель

[:+/8"0^:(1 2 3-:/:~)
FrownyFrog

+/@,[*3*1 2 3-:/:~
FrownyFrog


2

Луа , 116 81 байт

-7 байт завдяки Джонатану

Вводиться як аргументи командного рядка

Z=0S={}for i=1,#arg do
j=arg[i]+0S[j]=0Z=Z+j
end
print(#S>2 and#arg<4 and 24or Z)

Спробуйте в Інтернеті!

Пояснення:

Працює, створюючи розріджений масив Sі додаючи нулі в індекси, що відповідають вхідним значенням. Якщо параметри є 3, 4, 7рідким масивом, вони матимуть числа лише в цих індексах. За допомогою цього масиву ми отримуємо його довжину з оператором, #який рахує від індексу 1до вищого індексу, який має в ньому значення, якщо ця довжина точно 3, це означає, що в позиції були елементи 1, 2і 3що ми шукаю. Довжина розрідженого масиву завжди буде між 0і Nде Nчислом параметрів. Тому нам просто потрібно перевірити, чи довжина як масиву параметрів, так і розрідженого масиву 3.



Ви нічого не бачили (я відредагував свій коментар, оскільки ще не минуло 5 хвилин; P)
Кевін Круїйсен

Так, я просто знайшов такий самий недолік у власній відповіді .. Я виправив це за допомогою масиву-length == 3 AND A == S AND S> 0. Але я здогадуюсь перевірити довжину #argsу Lua трохи надто важкий byte? У такому випадку ви можете відкинути свою відповідь на 90 байтів. Я думаю .. :(
Кевін Круїйсен


@JonathanS. приємний
Феліпе Нарді Батіста

2

R , 55 45 54 49 57 54 48 байт

Збережено багато байтів і неправильних рішень завдяки Ayb4btu.

Збережено 3 9 байт завдяки Джузеппе. Я постійно вивчаю нові способи зловживати тим фактом F==0.

"if"((s=sum(x<-scan()))-prod(x)|sum(x|1)-3,s,24)

Спробуйте в Інтернеті!

Інша відповідь R виграла врешті-решт.


Не вдалося [0,0,0]: повертається 24замість 0.
Олів'є Грегоар

Я, мабуть, пропустив і "негативні", і "може бути єдине число" в специфікації. Зачекай.
BLT

c(1,1,2,3)повертається 28замість7
Ayb4btu

@ Ayb4btu Дякую, приємний улов.
BLT

1
x=scan();s=sum(x);"if"(s-prod(x)|s-6|length(x)-3,s,24)це 54 байти, змінюючи умову та використовуючи |замість &цього ми можемо відняти.
Джузеппе


1

Сітківка , 21 байт

O`
^1¶2¶3$
24
.+
$*
1

Спробуйте в Інтернеті!

Введення розділено лінійкою передачі, але тестовий набір для зручності використовує розділення комами.

Пояснення

O`

Сортування число (лексичний, на самому ділі, але ми тільки дбати про той випадок, коли входи 1, 2, 3в певному порядку, де це не робить різниці).

^1¶2¶3$
24

Якщо вхід є 1,2,3(у певному порядку), замініть його на 24.

.+
$*

Перетворіть кожне число в одинакове.

1

Порахуйте число 1s, яке додає одинарні числа та перетворює їх назад у десятковий.


З цікавості, виходячи з вашого пояснення, я розумію, що підсумковий рядок підраховує всі події матчу (усі 1з цього випадку). Чи завжди Retina робить це для одного фінального рядка? Або також можна порахувати всі 1s десь посередині, а потім продовжити з результатом, щоб зробити щось інше (яке знову використовує два рядки для заміщення-дії)? Також ще одне пов'язане питання: для яких функцій Retina потрібен лише один рядок? Сортування ( O`) - одна з них, а також функціонує інша; але будь-який інший? Просто намагаюся зрозуміти Ретіну трохи більше. :)
Кевін Круїссен

1
@KevinCruijssen Так, ви можете використовувати етап (підрахунку) матчу десь посередині, але вам доведеться чітко позначити його як етап матчу M`. Тільки за наявності однієї лінії, яка Retina за замовчуванням Mприкріплюється замість Replace. AGMTS- це всі однорядкові етапи, Rце два рядки Oі Dє одним або двома рядками залежно від того, чи використовується $опція (що перетворює їх на сортування / дедуплікацію - за етапами). Якщо у вас є додаткові запитання, пишіть
Martin Ender

1

Haskell , 44 байти

f a|sum a==6,product a==6,a<[6]=24|1<2=sum a

Спробуйте в Інтернеті!

Перестановки [1,2,3]є єдиними розділами 6, продукт яких є 6, забороняючи 6себе. (Це передбачає, що вхідні дані невід'ємні, що, мабуть, стосується всіх тестових випадків… Я про це попросив ОП.)



1

PL / SQL - 135 123 байт

Припустимо, що я є цілим числовим масивом будь-якого розміру:

if (select sum(s) = exp(sum(ln(s))) from unnest(i) s) then
    return 24;
else
    return (select sum(s) from unnest(i) s);
end if;

Ласкаво просимо до PPCG! Чи можете ви спробувати пограти в гольф, видаливши всі зайві місця, навіть якщо це робить відповідь нечитабельною (доки вона збирається)?
Олів'є Грегоар

1

C ++ 17, 56 54 байти

[](auto...i){return(-i&...)+4|(~i*...)+24?(i+...):24;}

Спробуйте в Інтернеті!

Зауважте, що створений об'єкт функції може бути використаний під час компіляції, тому тести виконуються компілятором без необхідності запуску програми.

Пояснення:

[]             // Callable object with empty closure,
(auto...i)     // deduced argument types,
{              // and deduced return type
  return       //
      (-i&...) //   If the fold over the bitwise AND of the negation of each argument
    +4|        // is unequal to -4, or
      (~i*...) //   if the product of the bitwise complements of the arguments
    +24?       // is unequal to -24, then
      (i+...): //   return the sum of the arguments, otherwise
      24;}     //   return 24.

Доказ того, що єдиним негативним i...для якого (-i&...)дорівнює -4 і (~i*...)дорівнює -24 є перестановки 1, 2, 3:

Спочатку спостерігаємо, що оскільки -0= 0, якщо є i= 0то (-i&...) = 0, тож робимо висновок, що всі iпозитивні.

Тепер зауважимо, що у додатку 2, -iвін еквівалентний ~(i - 1)і ~iеквівалентний -(i + 1). Застосовуючи правило Де Моргана, знаходимо, що (-i & ...)= ~((i - 1) | ...)= -(((i - 1) | ...) + 1), значить ((i - 1) | ...) = 3; аналогічно, -1 ** n * ((i + 1) * ...) = -24так nнепарно і ((i + 1) * ...) = 24.

Прості коефіцієнти 24 - 2 ** 3 * 3, так n<= 4. Якщо n= 1, маємо i - 1 = 3і i + 1 = 24, так n= 3. Запишіть iwlog як a <= b <= c, тоді чітко a= 1, як інакше (a + 1)(b + 1)(c + 1)> = 27. Також c<= 4, як інакше (a - 1)|(b - 1)|(c - 1)> = 4. cне може бути 4, оскільки 5 не є коефіцієнтом 24, тому c<= 3. Тоді для задоволення (a - 1)|(b - 1)|(c - 1) = 3c = 3, b = 2, як потрібно.


1

Лушпиння , 9 байт

?K24Σ=ḣ3O

Спробуйте в Інтернеті!

Пояснення

?K24Σ=ḣ3O
        O    Sort the input
?    =ḣ3     If it is equal to [1,2,3]:
 K24           Return 24
             Else:
    Σ          Return the sum of the input

Попереднє рішення

Дає неправильний результат [2,2], і, мабуть, і інші дані, але це було цікавіше.

?ṁD→E§eΠΣ
     §eΠΣ    Build a two-element list with the product and sum of the input
?   E        If the two elements are equal:
             (true for any permutation of [1,2,3] and the list [0,0,0]
 ṁD            Double both elements and sum them
               (This is 4 times the sum: 24 for permutations of [1,2,3], 0 for [0,0,0])
             Else:
   →          Return the last element (the sum)

Спробуйте в Інтернеті!


Це дає 24 для 2,2
рекурсивний

@recursive насправді дає 16, але ви праві. І, ймовірно, це дає неправильні результати і для довших масивів ... Чорт, мені потрібно перейти на нудне рішення
Лев,

0

Пушистий , 12 байт

gF3RFx?18;S#

Спробуйте в Інтернеті!

Це працює шляхом сортування введення та, якщо він дорівнює [1, 2, 3]18. Додавання 18. Потім суму обчислюють та друкують, додаючи 24, 18 додається, а нормальна відповідь інакше.

         \ Implicit: Input on stack.
g        \ Sort input ascendingly
F3RF     \ On auxiliary stack, push range(3) -> [1, 2, 3]
x?       \ If the stacks are equal:
  18     \    Append 18 to the input
;
S#       \ Print sum of input.



0

Желе , 10 9 байт

Ṣ24S⁼?3R¤

Спробуйте в Інтернеті!

-1 байт завдяки Еріку

Альтернатива ( містер Xcoder ), також для 9 байт:

3R⁼Ṣ×18+S

Спробуйте в Інтернеті!

Як це працює

Ṣ24S⁼?3R¤ - Main link. Argument: l (list)

Ṣ         - Sort
     ?    - Ternary if statement
    ⁼     -  Condition: Is l equal to...
      3R¤ -    [1, 2, 3]
 24       -  If condition: Return 24          
   S      -  Else: Return the sum of the list

Можна зробити Ṣ24S⁼?3R¤за 9 байт.
Ерік Аутгольфер

Або 3R⁼Ṣ×18+Sдля 9 байт теж.
Містер Xcoder

0

Pyth , 9 байт

Відмінний підхід від інших відповідей Pyth.

*sQ^4qS3S

Пояснення:

Порт з моєї відповіді Python

*sQ^4qS3SQ  # Full program (Q at the end is implicit and represents the input)

*           # A * B where A and B are the next two lines
  sQ        # Sum elements of input
  ^4        # 4 to the power of:
    qS3SQ   # Compares sorted input to [1, 2, 3] and returns 0 or 1

Спробуйте в Інтернеті!


0

PowerShell , 44 байти

param($a)($a-join'+'|iex)+18*!(diff(1..3)$a)

Спробуйте в Інтернеті!

Аналогічний алгоритм відповідей Python та JavaScript. Приймає введення в якості буквального масиву $a. Потім негайно підсумовується $aразом, що утворює лівий оператор +.

Права частина - це diff(псевдонім для Compare-Object) 1,2,3і $a- це або порожній масив, якщо вони рівні, або непустий масив різних елементів, якщо вони не рівні - укладені в булеве значення. Отже, якщо вони рівні, це робить порожній масив (значення фальси) в $true.

Це потім множиться на те, 18що неявно підпадає $trueна 1та $falseдо 0. Тож права частина буде, 18якщо масиви однакові, 0інакше. Це дає правильний результат, 24якщо вхідний масив перебуває 1,2,3в будь-якій перестановці, а підсумовування вхідного масиву - в іншому випадку.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.