7-5 素数对猜想
程序员文章站
2022-06-07 14:39:59
...
这道题用函数的方法更简便。
解题思路:找到素数,在这里定义一个函数去判断在n之内并且包含n的数是不是素数,通过对是否素数的判断,进行下一步的计算,这样的方法是很巧妙的。
由题意可知素数对无法在2和3之间产生,且素数对是在相邻两者之间产生的,通过交换值进行计算。
以下代码如下。
#include<stdio.h>
#include <math.h>
int f(int m)
{
int i;
for(i=2;i<=sqrt(m);i++)
{
if(m%i==0)
return 0;
}
return 1;
}
int main()
{
int n;int sum=0;
scanf("%d",&n);int a=2,b=3;
for(int i=4;i<=n;i++)
{
if(f(i))
{
a=b;
b=i;
if(b-a==2)
sum++;
}
}
printf("%d\n",sum);
return 0;
}
>[借鉴的大佬的](https://blog.csdn.net/fusheng_yizhao/article/details/79626519)