PAT乙级_1007问题描述:让我们定义dn为:dn=pn+1-pn,其中pi是第i个素数。显然有d1=1且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数…
大家好,又见面了,我是你们的朋友全栈君。
问题描述:
让我们定义 dn 为:dn = pn+1 – pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
分析:题目较简单,主要用到求素数的算法。
代码如下:
#include<stdio.h> #include<math.h> int main() { int n,i,j,num=0,sum=0; scanf(“%d”,&n); int prime[n]; for(i=2;i<=n;i++) { for(j=2;j<=sqrt(i);j++)//求素数,并放入prime[]中。 if(i%j==0) break; if(j>sqrt(i)) { prime[num++]=i; } } for(i=0;i<num-1;i++) { if(prime[i+1]-prime[i]==2) sum++; } printf(“%d\n”,sum); return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131895.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】:
Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】:
官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...