Merhaba arkadaşlar sizlere bugün güzel bir C programını anlatacağım.Dışarıdan bir sayı girdiğinizde eğer bu sayı asal ise size “sayı asaldır” çıktısı veriyor.Ama asal sayı değil ise dışarıdan girdiğiniz sayıdan küçük kendisine en yakın asal sayı çıktısını veren C kodlarını sizlere sunuyorum.Gerçekten işinize çok yarayabilir.Lise talebeleri için de güzel bir uygulama.Asal sayı içeren sorularınızda bu programı kullanabilirsiniz :).
Kodları Dev-C++ programında çalıştırabilirsiniz.Yada istediğiniz bir derleyicide.Birde bu kodlar C dilinde yazılmıştır.İsteyenler C++’a kolaylıkla çevirebilirler.Printf yerine <cout> ve scanf yerine ise <cin> yazdıkları halde C++’a hemen hemen çevirmiş olurlar.Kodlar aşağıdadır.İyi çalışmalar.
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 |
#include <stdio.h> #include <conio.h>//System("PAUSE") ile aynı görevi gören kodlar. int main (){ int sayi; int j; printf("bir sayi giriniz..."); scanf("%d",&sayi); //Dışarıdan bir sayı gireriz. for(int i=2; i<sayi; i++){//Burada ben for döngüsüne aldım isteyenler while ile de yapabilirler. if(sayi%i==0){//Sayının eğer i ye bölümünden kalanı 0 olursa asal sayı olmaz.Çünkü herhangi bir sayıya tam bölünüyor. printf("Asal sayi degildir"); break;//Döngüden çıkar. } } j=sayi; for(int k=2; k<j; k++) { if(j%k==0){ k=2; j--; } } if(j==sayi) { printf("sayi asaldir...");//Sayı asal ise ekrana bunu yazdırır. } else printf("%d sayisina en yakin asal sayi %d dir",sayi,j);//Eğer girdiğimiz sayı asal sayı değil ise ekrana girdiğimiz sayıdan küçük kendisine en yakın asal sayıyı yazdırır. getch();//conio.h kütüphanesine ait bir kod. return 0; } |
Mesela 125 sayısını girelim.Ekran çıktısı aşağıdaki gibi olacaktır.
Yazımı okuduğunuz için teşekkürler yorumlarınızı ve paylaşımlarınızı eksik etmeyiniz…
NOT = Programın bir üst versiyonu ve kodları için buradaki yazıyı okuyabilirsiniz.
Bu Yazıya Tepkin Ne Oldu ?
[…] sayı eğer asal sayı değilse ona en yakın olan asal sayıları listeliyordu.O konuya da buradaki linkten ulaşabilirsiniz.Herkese iyi çalışmalar […]
iyi de bu sadece gerideki en yakın asal sayıyı buluyor. hem ilerisindeki hem gerisindeki en yakın asal sayıyı bulup hangisinin daha yakın olduğunu nasıl buluruz?
Merhaba Doğukan isteğin için teşekkürler. Evet bu yazıda sadece kendisinden küçükleri kontrol ettirmişiz ama hem büyük hem küçük kontrolü yapan yeni kodları yazdık. Programın güncel halini versiyon 1.2 şeklinde http://www.mmsrn.com/kendisine-en-yakin-asal-sayiyi-bulan-c-programi-versiyon-1-2/ buradaki yazımızda paylaştık. Bu programda hem kendisinden büyük hem de kendisinden küçük asal sayıları kontrol ediyor. Hangisi daha yakınsa onu çıktı olarak ekrana veriyor. Detaylara bu linkten ulaşabilirsin. Umarız faydalı olur iyi çalışmalar dileriz 🙂
merhabalar 6 veya 12 girdiğimiz zaman neden en yakın sayıyı 5 ve 11 alıyorda 7 ve 13 almıyor ?
Merhabalar hocam evet bu eski versiyonda öyle yapmıştım. Bu programın bir üst versiyonu mevcut. https://www.mmsrn.com/kendisine-en-yakin-asal-sayiyi-bulan-c-programi-versiyon-1-2/ buradan bakabilirsiniz. 1.2 versiyonda dediğiniz gibi hem üst hem alt kontrolü yapıp en yakın asal sayıları neler onları veriyor.