#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
*/
   
Hiç yorum yok:
Yorum Gönder
Hatalı linkleri yorum yazarak bildirin