当前位置: 代码迷 >> 综合 >> PAT (Basic Level) Practice (中文) 1007
  详细解决方案

PAT (Basic Level) Practice (中文) 1007

热度:20   发布时间:2023-11-26 22:16:40.0

1007 素数对猜想 (20分)

让我们定义dn为:d?n?? =p?n+1 ? pn,其中p?i?? 是第 i 个素数。显然有d?1?? = 1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(105),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N。

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20

输出样例:

4
#include<stdio.h>
#include<math.h>
int main()
{
    int d;int a[10000];int q1,q2;int s = 1;int sign = 0;scanf("%d",&d);for(int i = 2;i <= d;i++){
    int flag = 0;for(int x = 2;x <= sqrt(i);x++){
    if(i%x == 0)			//取素数的条件 {
    flag = 1;break;}}if(flag == 0 && s == 1)q1 = i;if(flag == 0 && s!= 1){
    q2 = i;if(q2-q1 == 2){
    sign++;}q1 = q2;}		s++;}printf("%d",sign);return 0;}
  相关解决方案