Đưa ra một danh sách các số nguyên dương, xuất ra liệu mọi cặp số nguyên liền kề trong nó có chung một thừa số không. Nói cách khác, đầu ra trung thực khi và chỉ khi không có hai số nguyên lân cận nào trong danh sách là đồng nguyên tố.
Về chưa khác: cho một danh sách các số nguyên dương [a 1 một 2 ... một n ] , đầu ra cho dù
gcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 && '& & gcd (a n 1 , a n )> 1.
Danh sách sẽ luôn chứa ít nhất hai phần tử (n 2).
Tuy nhiên…
Thách thức này cũng bị hạn chế - nguồn : các điểm mã trong câu trả lời của bạn (bất kỳ mã hóa nào có thể có) phải đáp ứng điều kiện chương trình của bạn kiểm tra.
Ví dụ, print 2
là một chương trình hợp lệ. Như một danh sách các mã điểm Unicode, nó là [112 114 105 110 116 32 50] , đáp ứng điều kiện này: 112 và 114 chia sẻ hệ số 2 ; và 114 và 105 chia sẻ hệ số 3 , v.v.
Tuy nhiên, main
có thể không xảy ra trong một chương trình hợp lệ (xin lỗi!), Như codepoints Unicode của m
và a
, cụ thể là 109 và 97 , là nguyên tố cùng nhau. (Rất may, bài nộp của bạn không cần phải là một chương trình đầy đủ!)
Chương trình của bạn không được phép chứa mã số 0.
Các trường hợp thử nghiệm
Sự thật:
[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
Giả mạo:
[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
Đây là code-golf : mã ngắn nhất tính bằng byte thắng.
print 2
là hợp lệ, nhưng );=ae
thực sự rất khó khăn, tôi đã không nghĩ rằng một điều gì đó như Haskell có thể tranh đua?
%)+/5;=CGIOSYaegkmq\DEL
.