1007 素数对猜想 (20 分)(c语言)
生活随笔
收集整理的這篇文章主要介紹了
1007 素数对猜想 (20 分)(c语言)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
讓我們定義dn?為:dn?=pn+1??pn?,其中pi?是第i個素數。顯然有d1?=1,且對于n>1有dn?是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
現給定任意正整數N(<105),請計算不超過N的滿足猜想的素數對的個數。
輸入格式:
輸入在一行給出正整數N。
輸出格式:
在一行中輸出不超過N的滿足猜想的素數對的個數。
輸入樣例:
20結尾無空行
輸出樣例:
4結尾無空行
#include <stdio.h> #include <math.h> int isprime(int cnt); int prime(int n); int judge(int n); int book[10000]; int main(){int N,sum=0,cnt,i;scanf("%d",&N);for(cnt=2;cnt<=N;cnt++){if(isprime(cnt)==1){book[i]=cnt;i++;}}for(cnt=0;cnt<i;cnt++){if(judge(cnt)==1){sum++;}}printf("%d",sum);return 0; } int isprime(int cnt) {int flag = 1,cnt1;if (cnt == 2) {return flag;}else {for ( cnt1 = 2; cnt1 <= sqrt(cnt); cnt1++) {if (cnt % cnt1 == 0) {flag = 0;}}}return flag; } int judge(int n){int flag=0;if(book[n]-book[n-1]==2 && n-1>=0){flag=1;}return flag; }總結
以上是生活随笔為你收集整理的1007 素数对猜想 (20 分)(c语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言 判断素数
- 下一篇: 1009 说反话 (20 分)(c语言)