题样:


#include<math.h>
int isprime(int n)//返回1表示参数n是素数,返回0表示参数n不是素数
{
if(n<=1)return 0;
int i=0,flag=1;
for(i=2;i<=(int)sqrt(n);i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
#include<stdio.h>
int main(){
int n=0;
scanf("%d",&n);
//
int i=0,k=0,j=0;
int a[100000]={0};
for(i=2;i<=n;i++)
{
if(isprime(i)==1)
{
a[k]=i;
k++;
}
}
int count=0;
for(i=0;i<k-1;i++)
{
if(a[i+1]-a[i]==2)
{
count++;
}
}
printf("%d",count);
return 0;
}
//2,3,5,7,11,13,17,19
//isprime 必须用sqrt提高运行速度,因为n=99999时,存在结果1224。

素数与孪生素数计数
本文介绍了一个C语言程序,该程序用于判断素数并计算特定范围内孪生素数的数量。通过使用sqrt函数来优化素数判断过程,确保了程序在处理大范围数值时的高效性。
405

被折叠的 条评论
为什么被折叠?



