C-Sprachbeispiel - Primzahlen bestimmen
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 29Weitere Erweiterungen