Учитывая список натуральных чисел, выведите, имеет ли каждая соседняя пара целых чисел в нем общий множитель. Другими словами, выведите truey тогда и только тогда, когда в списке нет двух соседних целых чисел.
В других терминах: учитывая список натуральных чисел [a 1 a 2 … a n ] , выведите
gcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 &&… && gcd (a n − 1 , a n )> 1.
Список всегда будет содержать как минимум два элемента (n ≥ 2).
Тем не мение…
Эта задача также имеет ограниченный источник : кодовые точки в вашем ответе (в какой бы кодовой странице он ни находился) должны удовлетворять условию, которое проверяет ваша программа.
Например, print 2
это действительная программа. В качестве списка кодовых точек Unicode это [112 114 105 110 116 32 50] , которое удовлетворяет этому условию: 112 и 114 имеют коэффициент 2 ; и 114 и 105 имеют коэффициент 3 и т. д.
Тем не менее, main
это не может произойти в допустимой программе (извините!), Так как кодовые точки Unicode m
и a
, а именно 109 и 97 , взаимно просты. (К счастью, ваше представление не обязательно должно быть полной программой!)
Ваша программа не может содержать кодовую точку 0.
Контрольные примеры
Truthy:
[6 21] -> 1
[502 230 524 618 996] -> 1
[314 112 938 792 309] -> 1
[666 642 658 642 849 675 910 328 320] -> 1
[922 614 530 660 438 854 861 357 477] -> 1
Falsy:
[6 7] -> 0
[629 474 502 133 138] -> 0
[420 679 719 475 624] -> 0
[515 850 726 324 764 555 752 888 467] -> 0
[946 423 427 507 899 812 786 576 844] -> 0
Это код-гольф : выигрывает самый короткий код в байтах.
print 2
это действительно так, но );=ae
быть премьер-министром действительно сложно, я не подумал об этом… Интересно, может ли что-то вроде Haskell конкурировать?
%)+/5;=CGIOSYaegkmq\DEL
.