PAT (Basic Level) Practise (中文)—— 1007. 素数对猜想

来源:互联网 发布:华宇软件最新消息 编辑:程序博客网 时间:2024/05/23 18:34

http://pat.zju.edu.cn/contests/pat-b-practise/1007


让我们定义 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 <stdlib.h>#include <string.h>#include <math.h>int is_prime(int n){if (n == 2)return 1;if (n%2 == 0 || n < 2)return 0;int tmp = (int)sqrt(n);int i;for (i = 3; i <= tmp; i += 2)if (n%i == 0)return 0;return 1;}int main(){int N, cnt = 0;scanf("%d", &N);int i;for (i = 3; i <= N-2; i++){if (is_prime(i) && is_prime(i+2)){cnt++;}}printf("%d\n", cnt);return 0;}


原创粉丝点击