François Proth ismini taşıyan bir Proth numarası , olarak ifade edilebilecek bir sayıdır.
N = k * 2^n + 1
k
Tek bir pozitif tamsayı nerede ve n
böyle bir pozitif tamsayıdır 2^n > k
. Daha somut bir örnek kullanalım. 3'ü alın. 3 bir Proth numarasıdır, çünkü
(1 * 2^1) + 1
ve 2^1 > 1
memnun. 5 Ayrıca Proth numarasıdır, çünkü
(1 * 2^2) + 1
ve 2^2 > 1
memnun. Ancak, 7 değil şeklinde yazmak için tek yol, çünkü bir PROTH sayı N = k * 2^n + 1
olduğu
(3 * 2^1) + 1
ve 2^1 > 3
memnun değil.
Buradaki zorluk oldukça basittir: Pozitif bir tamsayı verildiğinde Proth sayısı olup olmadığını belirleyen bir program veya işlev yazmalısınız. Herhangi bir makul formatta girdi alabilir ve eğer bir Proth numarası ise yanlış bir değer, eğer değilse sahte bir değer vermelisiniz. Dilinizde herhangi bir "Proth-sayı tespiti" işlevi varsa , bunları kullanabilirsiniz.
Test IO
İşte 1000'e kadar ilk 46 Proth sayısı. ( A080075 )
3, 5, 9, 13, 17, 25, 33, 41, 49, 57, 65, 81, 97, 113, 129, 145, 161, 177, 193, 209, 225, 241, 257, 289, 321, 353, 385, 417, 449, 481, 513, 545, 577, 609, 641, 673, 705, 737, 769, 801, 833, 865, 897, 929, 961, 993
Diğer her geçerli giriş sahte bir değer vermelidir.
Her zaman olduğu gibi, bu kod golf, bu yüzden standart boşluklar geçerli ve bayt cinsinden en kısa cevap kazanıyor!
Sayı teorisi eğlence gerçeği notu:
Mersenne Başbakanı olmayan bilinen en büyük asal, 19249 * 2^13018586 + 1
bir Proth sayısı da olur!