Bu meydan okumayı yaptığım bütün yıllar boyunca, 2017 birinci sınıf olan ilk yıl. Bu yüzden soru asal sayılar ve özellikleriyle ilgili olacaktır.
Göreviniz, girişte keyfi olarak büyük pozitif bir tamsayı alacak bir program veya işlev üretmek ve sayının 2,017 gevrek olup olmadığının çıktısını alması veya döndürmesidir - yani, bu sayıdaki en büyük ana faktör 2,017 veya daha az olup olmadığı.
Bazı örnek girdiler ve çıktıları:
1 (has no prime factors)
true
2 (= 2)
true
80 (= 2 x 2 x 2 x 2 x 5)
true
2017 (= 2017)
true
2019 (= 3 x 673)
true
2027 (= 2027)
false
11111 (= 41 x 271)
true
45183 (= 3 x 15061)
false
102349 (= 13 x 7873)
false
999999 (= 3 x 3 x 3 x 7 x 11 x 13 x 37)
true
1234567 (= 127 x 9721)
false
4068289 (= 2017 x 2017)
true
Programınızın kelimenin tam anlamıyla çıktısı olması true
ve false
- herhangi bir hakikat ya da sahte değer olması gerekmez ve gerçekte, doğru ve yanlış durumlarda tutarlı olan iki farklı çıktı iyidir.
Ancak, kaynak kodunuzda hiçbir prim kullanamazsınız . Asal iki tür gelir:
Asal sayı değişmezlerini temsil eden karakterler veya karakter dizileri.
Karakterleri
2
,3
,5
ve7
sayılar geçerli belirteçleri olan dilde yasadışı.Numara
141
o içerdiğinden yasadışı41
olsa da1
ve4
aksi geçerlidir.Karakterler
B
veD
(veyab
ved
), genellikle CJam veya Befunge gibi 11 ve 13 olarak kullanıldığı dillerde yasa dışıdır.
Asal değerli Unicode değerlerine sahip veya kodlarında asal değerli bayt içeren karakterler.
Karakterler
%)+/5;=CGIOSYaegkmq
ASCII’de ve satır başı karakterlerinde geçersizdir.Karakter
ó
kodlaması0xb3
içinde olduğundan UTF-8'de geçersizdir . Bununla birlikte, ISO-8859-1'de kodlaması basit0xf3
, ki bu bileşik ve dolayısıyla tamam.
Herhangi bir dilde yukarıdakileri yapmak için en kısa kod kazanır.
=
Çoğu standart dilde kuralların olmaması ...