C Programa rodyti pirminius skaičius tarp dviejų intervalų

Šiame pavyzdyje išmoksite spausdinti visus pirminius skaičius tarp dviejų vartotojo įvestų skaičių.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:

  • C jei … dar pareiškimas
  • C kilpai
  • C pertrauka ir toliau

Rodyti pirminius skaičius tarp dviejų intervalų

 #include int main() ( int low, high, i, flag; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Prime numbers between %d and %d are: ", low, high); // iteration until low is not equal to high while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) // if low is a non-prime number, flag will be 1 for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); // to check prime for the next number // increase low by 1 ++low; ) return 0; )

Rezultatas

 Įveskite du skaičius (intervalus): 20 50 Pirminiai skaičiai tarp 20 ir 50 yra: 23 29 31 37 41 43 47 

Šioje programoje whileciklas kartojamas ( high-low-1) kartus.

Kiekvienoje iteracijoje lowpažymima , ar pagrindinis skaičius, ar ne, ir reikšmė lowdidinama iki, 1kol lowlygi high.

Apsilankykite šiame puslapyje ir sužinokite daugiau, kaip patikrinti, ar skaičius yra pagrindinis.

Jei vartotojas pirmiausia įveda didesnį skaičių, aukščiau nurodyta programa neveikia taip, kaip numatyta. Šią problemą galite išspręsti pakeisdami skaičius.

Rodyti pirminius numerius, kai pirmiausia įvedamas didesnis skaičius

 #include int main() ( int low, high, i, flag, temp; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); // swap numbers if low is greather than high if (low> high) ( temp = low; low = high; high = temp; ) printf("Prime numbers between %d and %d are: ", low, high); while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); ++low; ) return 0; )

Apsilankykite šiame puslapyje ir sužinokite, kaip galite rodyti visus pirminius skaičius tarp dviejų intervalų, sukurdami vartotojo apibrėžtą funkciją

Įdomios straipsniai...