c語言裡如何判斷一個數是素數?質數(prime number)又稱素數,有無限個質數定義為在大于1的自然數中,除了1和它本身以外不再有其他因數,這樣的數稱為質數,今天小編就來說說關于c語言裡如何判斷一個數是素數?下面更多詳細答案一起來看看吧!
質數(prime number)又稱素數,有無限個。質數定義為在大于1的自然數中,除了1和它本身以外不再有其他因數,這樣的數稱為質數。
實例
#include <stdio.h>
int main()
{
int n, i, flag = 0;
printf("輸入一個正整數: ");
scanf("%d",&n);
for(i=2; i<=n/2; i)
{
// 符合該條件不是素數
if(n%i==0)
{
flag=1;
break;
}
}
if (flag==0)
printf("%d 是素數",n);
else
printf("%d 不是素數",n);
return 0;
}
運行結果:
輸入一個正整數: 29 29 是素數
實例 - 判斷兩個數之間的素數
#include <stdio.h>
int main()
{
int low, high, i, flag;
printf("輸入兩個整數: ");
scanf("%d %d", &low, &high);
printf("%d 與 %d 之間的素數為: ", 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;
}
運行結果:
輸入兩個整數: 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
實例 - 使用函數判斷兩數間的素數
#include <stdio.h>
int checkPrimeNumber(int n);
int main()
{
int n1, n2, i, flag;
printf("輸入兩個正整數: ");
scanf("%d %d", &n1, &n2);
printf("%d 和 %d 間的素數為: ", n1, n2);
for(i=n1 1; i<n2; i)
{
// 判斷是否為素數
flag = checkPrimeNumber(i);
if(flag == 1)
printf("%d ",i);
}
return 0;
}
// 函數定義
int checkPrimeNumber(int n)
{
int j, flag = 1;
for(j=2; j <= n/2; j)
{
if (n%j == 0)
{
flag =0;
break;
}
}
return flag;
}
輸出結果為:
輸入兩個正整數: 10 30 10 和 30 間的素數為: 11 13 17 19 23 29
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!