论防止爆T的重要性:N相关孪生素数
N相關(guān)孿生素?cái)?shù)
Time Limit: 1 Sec??Memory Limit: 128 MB?? 64bit IO Format: %lld
Description
如果A和B都是素?cái)?shù),而且A和B相差n,那么A和B是相差n的孿生素?cái)?shù)。
請(qǐng)編寫(xiě)程序根據(jù)輸入的n,輸出[L,R]范圍內(nèi)的相差N的孿生素?cái)?shù)的對(duì)數(shù)。
例如:n=4,L=1,R=20,相差4的孿生素?cái)?shù)有(3,7),(7,11),(13,17)共3對(duì),則輸出3。
注意:main函數(shù)已經(jīng)給定(如下所示)。
? ? ? ? ? ?請(qǐng)將程序補(bǔ)充完整。
? ? ? ? ? ?提交時(shí)只需要提交自己補(bǔ)充的代碼部分,不需要提交給定的main函數(shù)的代碼部分。
#include<stdio.h>
int main()
{int n,L,R,t;while(scanf("%d%d%d",&n,&L,&R)!=EOF){t=f(n,L,R);printf("%d\n",t);}return 0;
}
?
Input
包含多組測(cè)試數(shù)據(jù),每組測(cè)試數(shù)據(jù)占一行,每行3個(gè)正整數(shù),分別代表n,L和R。其中n大于1,L大于1,R小于10000,L小于R。
?
Output
每組測(cè)試數(shù)據(jù)輸出占一行,每行輸出1個(gè)整數(shù)。
?
Sample Input
4 2 20
?
Sample Output
3
題目分析:
這題本來(lái)很簡(jiǎn)單的。。但我居然爆了一次T,所以我決定還是寫(xiě)下來(lái)……
判斷兩次質(zhì)數(shù)就會(huì)爆T,但是加上break就好了。
以下給出的是錯(cuò)誤代碼,正確代碼要在判斷質(zhì)數(shù)的時(shí)候加上兩個(gè)break,就可以680MS過(guò)題~
當(dāng)然,最保險(xiǎn)的辦法是定義一個(gè)數(shù)組 a[10001] ,用數(shù)組的數(shù)值為 0 或者 1 來(lái)記錄這個(gè)數(shù)是否為質(zhì)數(shù)。
最后:抄代碼是不對(duì)的啦~
#include<stdio.h>
int f(int n,int l,int r)
{int i,j,sum=0,f;for(i=l;i<=r-n;i++){f=0;for(j=2;j<i;j++){if(i%j==0){f=1;break;}}for(j=2;j<i+n;j++){if((i+n)%j==0){f=1;break;}}if(f==0)sum++;}return sum;
}
int main()
{int n,L,R,t;while(scanf("%d%d%d",&n,&L,&R)!=EOF){t=f(n,L,R);printf("%d\n",t);}return 0;
}
?
總結(jié)
以上是生活随笔為你收集整理的论防止爆T的重要性:N相关孪生素数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: b2照多少钱啊?
- 下一篇: 你哪来这么多事(一):学生信息插入