您的位置:首页 > 其它

筛选素数,打表,区间内特定元素的个数

2014-07-25 20:16 267 查看
#include<stdio.h>

int notprime[1000010];

int arr[1000010]={0,0};

int main(){

int i,j,k,m,n;

int cnt=0;

int T;

int l,r;

int kase;

for(i=2;2*i<1000010;i++){

if(!notprime[i]){

for(j=2*i;j<1000010;j+=i){

notprime[j]=1;

}

}

}//素数打表;

for(i=2;i<1000010;i++){

if(!notprime[i]){

int d=0;

int t=i;

while(t){

d+=t%10;

t/=10;

}

if(!notprime[d]) {

cnt++;

}

}

arr[i]=cnt;

}

scanf("%d",&T);

for(kase=1;kase<=T;kase++){

scanf("%d%d",&l,&r);

printf("Case #%d: %d\n",kase,arr[r]-arr[l-1]);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: