簡單的素數問題php
HDOJ4548_美素數code
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> bool num[1000005]={false,false,true};//初始化1不是素數,2爲素數 int suShu[1000005]={0};//存儲當前數字之內的美素數個數 int main() { //求解N之內的全部素數序列 int sum=0; int i,j,n; for(i=3;i<=1000005;i++) { num[i]=true; } for(i=2;i*i<1000005;i++) { if(num[i]==true) { for(j=i*i;j<1000005;j+=i) { num[j]=false; } } } for(j=2;j<=1000005;j++) { if(num[j]==true) { int tmp=j,number=0; while(tmp!=0) { number+=(tmp%10); tmp/=10; } if(num[number]==true) sum++; } suShu[j]=sum; } // printf("%d\n",suShu[2]); scanf("%d",&n); for(i=1;i<=n;i++) { int a,b; int sum=0; scanf("%d %d",&a,&b); printf("Case #%d: %d\n",i,suShu[b]-suShu[a-1]); } //打印所獲得的序列初步判斷是否正確 // for(i=2;i*i<1000005;i++) // { // if(num[i]==true) // { // printf("%d ",i); // } // } return 0; }