C-Sprachbeispiel - Primzahlen bestimmen

C-Sprachbeispiele

Primzahlen, auch als Primzahlen bekannt, sind unendlich viele. Eine Primzahl ist definiert als eine natürliche Zahl größer als 1, die außer 1 und sich selbst keine weiteren Teiler hat; solche Zahlen werden Primzahlen genannt.

Beispiel

#include <stdio.h> int main() { int n, i, flag = 0; printf("Geben Sie eine positive ganze Zahl ein:"); scanf("%d",&n); for(i=2; i<=n/2; ++i) { // Wenn diese Bedingung erfüllt ist, ist es keine Primzahl if(n%i==0) { flag=1; break; } } if(n <=1 ) { flag=1; // 1 und 0 sind keine Primzahlen } if (flag==0) printf("%d ist eine Primzahl",n); else printf("%d ist keine Primzahl",n); return 0; }

Run result:

输入一个正整数: 29
29 是素数

Beispiel - Primzahlen zwischen zwei Zahlen bestimmen

#include <stdio.h> int main() { int low, high, i, flag; printf("Geben Sie zwei ganze Zahlen ein:"); scanf("%d %d", &low, &high); printf("Die Primzahlen zwischen %d und %d sind:", low, high); while (low < high) { flag = 0; for(i = 2; i <= low/2; ++i) { if(low % i == 0) { flag = 1; break; } } if (flag == 0) printf("%d ", low); ++low; } return 0; }

Run result:

输入两个整数: 100  200
100 与 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

Beispiel - Verwendung einer Funktion zur Bestimmung von Primzahlen zwischen zwei Zahlen

#include <stdio.h> int checkPrimeNumber(int n); int main() { int n1, n2, i, flag; printf("Geben Sie zwei positive ganze Zahlen ein:"); scanf("%d %d", &n1, &n2); printf("Die Primzahlen zwischen %d und %d sind:", n1, n2); for(i=n1+1; i<n2; ++i) { // Prüfen, ob es eine Primzahl ist flag = checkPrimeNumber(i); if(flag == 1) printf("%d ",i); } return 0; } // Funktionsdefinition int checkPrimeNumber(int n) { int j, flag = 1; for(j=2; j <= n/2; ++j) { if (n%j == 0) { flag =0; break; } } return flag; }

Das Ausgabeergebnis ist:

输入两个正整数: 10 30
10 和 30 间的素数为: 11 13 17 19 23 29

C-Sprachbeispiele

Weitere Erweiterungen