c語言怎麼判斷素數個數?問題:輸入兩個整數X和Y,輸出兩者之間的素數個數(包括X和Y),我來為大家講解一下關于c語言怎麼判斷素數個數?跟着小編一起來看一看吧!
問題:輸入兩個整數X和Y,輸出兩者之間的素數個數(包括X和Y)。
輸入:兩個整數X和Y(1 <= X,Y <= 10 5)。
輸出:輸出一個整數,表示X,Y之間的素數個數(包括X和Y)。
程序:
#include <stdio.h>
void swap(int *a, int *b);//用指針将兩個變量的大小交換。
int isprime(int n); //将判斷是否為素數打包為函數可以使主函數更容易讀。
int main()
{
int x, y, sum=0, i;
scanf("%d %d", &x, &y);
if(x > y)
swap(&x, &y); //使x<y。
if(x <= 2) {
x = 3;
sum = 1;
} else {
if(x % 2 == 0)
x ;
} // 将特殊情況排除,提高了程序運行的速度。
for(i=x; i<=y; i =2)
if(isprime(i))
sum ;
printf("%d\n", sum);
return 0;
}
void swap(int *a, int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
int isprime(int n)
{
int i;
for(i=3; i*i<=n; i =2)
if(n % i == 0)
return 0;
return 1;
}
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!