#include< stdio.h >
#include< stdlib.h >
#include< conio.h >
int main(void)
{
bool devammi = true;
int asalsayilar[1000];
//programdan istenilene kadar çıkmak için sonsuz döngü başlat
while (devammi)
{
//bu programda konsoldan girilen iki sayı arasındaki
//asal sayıları bulacağız
int sayi_1, sayi_2, asalsayisayisi = 0;
bool asalmi = false;
//Her döngüde içeriği temizlemek için geçmişi sil.
for (int i = 0; i < 1000; i++)
{
asalsayilar[ i ]=-1;
}
//öncelikle konsoldan iki sayı girilmesini istiyoruz.
printf("birinci sayıyı giriniz\t:");
scanf("%d",&sayi_1);
printf("İkinci sayıyı giriniz\t:");
scanf("%d",&sayi_2);
//eğer ikinci sayı birinci sayıdan küçük ise
//ikinci sayıyı tekrar giriilmesini istiyoruz
while (sayi_2 < sayi_1)
{
printf("İkinci sayı birinci sayidan buyuk olmalı\n");
printf("ikinci sayiyi tekrar giriniz\t:");
scanf("%d",&sayi_2);
}
int a = 2;
//bu for döngüsünde girilen ilk sayıdan başlayarak
//ikinci sayıya kadar olan sayıları teker teker asal mı
//değil mi diye kontrol ediyoruz
//asal sayıları arraylist de topluyoruz sonradan ekrana yazdırmak için
for (int i = sayi_1; i <= sayi_2; i++)
{
a = 2;
asalmi = false;
while (a <= i / 2)
{
if (i % a == 0)
asalmi = true;
a++;
}
// sayı asal ise bu sayı listemize ekliyoruz
if (!asalmi && i != 1)
{
asalsayilar[asalsayisayisi++]=i;
}
}
//iki sayı arasındaki sayıları kontrol ettikten sonra
//bulunan asal sayıları konsol ekranına yazdırıyoruz
printf("%d ile %d arasinda %d adet asal sayi vardir. Bunlar:\n",sayi_1,sayi_2,asalsayisayisi);
for (int i = 0; i < asalsayisayisi; i++)
{
printf("%d",asalsayilar[ i ]);
if (i + 1 < asalsayisayisi) printf(",");
}
//kullanıcıya devam edip etmek istemediğini soruyoruz.
printf("\n\n***************************\ndevam etmek için ->1 giriniz\nçıkış için ->0 giriniz\n");
int durum = 0;
scanf("%d",&durum);
if (durum == 0)
devammi = false;
else
printf("Girilen değer: 1\nprogram devam ediyor\n");
}
}
/* PROGRAM ÇIKTISI
*
birinci sayıyı giriniz :1
İkinci sayıyı giriniz :17
1 ile 17 arasinda 7 adet asal sayi vardir. Bunlar:
2,3,5,7,11,13,17
***************************
devam etmek için ->1 giriniz
çıkış için ->0 giriniz
1
Girilen değer: 1
program devam ediyor
birinci sayıyı giriniz :2
İkinci sayıyı giriniz :1222
2 ile 1222 arasinda 199 adet asal sayi vardir. Bunlar:
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,1
07,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,2
23,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,3
37,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,4
57,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,5
93,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,7
19,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,8
57,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,9
97,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,10
97,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217
***************************
devam etmek için ->1 giriniz
çıkış için ->0 giriniz
1
Girilen değer: 1
program devam ediyor
birinci sayıyı giriniz :3
İkinci sayıyı giriniz :99
3 ile 99 arasinda 24 adet asal sayi vardir. Bunlar:
3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
***************************
devam etmek için ->1 giriniz
çıkış için ->0 giriniz
0
*/