Asal sayılar ile ilgili bir çok dilde bir çok algoritma mevcut. Yalnız benim ihtiyacım olan biraz daha farklı bir algoritma. Bir asal sayının kaçıncı asal sayı olduğunu öğrenmem gerekli. Örneğin;
1. asal sayı = 2
2. asal sayı = 3
10. asal sayı= 29
50. asal sayı = 229
100. asal sayı = 541
1000. asal sayı = 7919
5000. asal sayı = 48611
TÜBİTAK Kriptoloji sorularının takipçisi olanların çok işine yarayacaktır. Kriptoloji sorularının vazgeçilmezi asal sayılar ve asal sayıların kaçıncı sırada oldukları 🙂
C# Kodları:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
using System; namespace asalbul { class Program { static void Main(string[] args) { while (true) { int girilenSayi = 1, sira, kacinci = 0; Console.Write("Kaçıncı sıradaki asal sayıyı öğrenmek istiyorsunuz: "); sira = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i <= girilenSayi; i++) { int sayac = 0; for (int y = 1; y <= girilenSayi; y++) { if (i % y == 0) sayac += 1; } if (sayac == 2) { kacinci++; if (kacinci == sira) { Console.WriteLine("{0} sıradaki asal Sayı={1}", kacinci, i); break; } } girilenSayi++; } } } } } |
Proje github linki : https://github.com/fatihyldrim/kacinci-asal-sayi/