Aritmetikte, n'nin belirli bir asal sayı olduğu n-düzgün sayı , matematiksel olarak n'den büyük hiçbir asal çarpanı olmayan pozitif bir tamsayı olarak tanımlanır. Örneğin, 42, 7-pürüzsüzdür, çünkü tüm asal faktörleri 7'den küçük veya ona eşittir, ancak 44, 7-pürüzsüz değildir, çünkü asal bir faktör olarak 11'e sahiptir.
Oldukça pürüzsüz bir sayıyı , kendi kare kökünden daha büyük asal faktörleri olmayan bir sayı olarak tanımlayın . Böylece, oldukça pürüzsüz sayıların listesi aşağıdaki gibi formüle edilebilir:
- (DÜZENLENDİ!) 1, herhangi bir asal faktörün eksik olmaması nedeniyle oldukça pürüzsüz bir sayıdır. (Bu sorunun orijinal sürümünde, 1'in yanlışlıkla listeden çıkarıldığını unutmayın; bu nedenle, çıktılarınızdan hariç tutarsanız yanlış işaretlenmezsiniz.)
- 4 (= 2 2 ) ve 8 arasında oldukça pürüzsüz sayılar 2 pürüzsüzdür, yani tek asal faktörleri olarak 2'ye sahiptirler.
- 9 (= 3 2 ) ve 24 arasında oldukça pürüzsüz sayılar 3 pürüzsüzdür ve asal çarpanlarına ayırmada 2s ve 3s olabilir.
- 25 (= 5 2 ) ve 48 arasında oldukça pürüzsüz sayılar 5-pürüzsüzdür ve asal çarpanlarına ayırmada 2s, 3s ve 5s olabilir.
- Ve böylece, bir sonraki asal sayının karesine her ulaşıldığında kriterleri yükseltmek.
Oldukça pürüzsüz sayıların listesi sabittir ve şu şekilde başlar: 1, 4, 8, 9, 12, 16, 18, 24, 25, ...
Zorluk, 10.000'e kadar (= 100 2 ) dahil olmak üzere tüm oldukça düzgün sayıları çıkaran kod yazmaktır . Listedeki her sayı ile bir sonraki numara arasında en az bir ayırıcı (ne tür - boşluk, virgül, yeni satır, herhangi bir şey) olması gerekir, ancak hangi karakterin kullanıldığı tamamen önemsizdir.
Her zamanki gibi, en düşük bayt sayısı kazanır - açıkçası, listenin çıktısını almak sizin için çok yararlı olmayacaktır. İyi şanslar!
1
)