C Language Example - Determine Prime Numbers
Prime numbers, also known as primes, are infinite in number. A prime number is defined as a natural number greater than 1 that has no other factors besides 1 and itself; such numbers are called prime numbers.
Example
#include <stdio.h>
int main()
{
int n, i, flag = 0;
printf("Enter a positive integer:");
scanf("%d",&n);
for(i=2; i<=n/2; ++i) {
// If this condition is satisfied, it is not a prime number
if(n%i==0) {
flag=1;
break;
}
}
if(n <=1 ) {
flag=1; // 1 and 0 are not prime numbers
}
if (flag==0)
printf("%d is a prime number",n);
else
printf("%d is not a prime number",n);
return 0;
}
Run result:
输入一个正整数: 29 29 是素数
Example - Determine Prime Numbers Between Two Numbers
#include <stdio.h>
int main()
{
int low, high, i, flag;
printf("Enter two integers:");
scanf("%d %d", &low, &high);
printf("The prime numbers between %d and %d are:", 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
Example - Using a function to determine prime numbers between two numbers
#include <stdio.h>
int checkPrimeNumber(int n);
int main()
{
int n1, n2, i, flag;
printf("Enter two positive integers:");
scanf("%d %d", &n1, &n2);
printf("The prime numbers between %d and %d are:", n1, n2);
for(i=n1+1; i<n2; ++i)
{
// Determine whether it is a prime number
flag = checkPrimeNumber(i);
if(flag == 1)
printf("%d ",i);
}
return 0;
}
// Function definition
int checkPrimeNumber(int n)
{
int j, flag = 1;
for(j=2; j <= n/2; ++j)
{
if (n%j == 0)
{
flag =0;
break;
}
}
return flag;
}
The output result is:
输入两个正整数: 10 30 10 和 30 间的素数为: 11 13 17 19 23 29other extensions