hdu-4548-美素数。。。
2014-07-23 17:44
225 查看
呵呵。。。学会打表了
#include<stdio.h>
#include<string.h>
int a[1000010];
int b[1000010];
int main()
{
int i,j,h,l,k,num,n,m;
int t=0;
memset(a,0,sizeof(a));
for(i=2;i*i<1000010;i++)
{
if(!a[i])
{
for(j=i*i;j<1000010;j+=i)
{
a[j]=1;
}
}
}
for(i=2;i<1000010;i++)
{
if(!a[i])
{
l=0;
h=i;
while(h)
{
l+=h%10;
h/=10;
}
if(!a[l])
t++;
}
b[i]=t;
}
scanf("%d",&num);
for(k=1;k<=num;k++)
{
scanf("%d%d",&n,&m);
printf("Case #%d: %d\n",k,b[m]-b[n-1]);
}
return 0;
}
仿照别人的思路。。。。
#include<stdio.h>
#include<string.h>
int a[1000010];
int b[1000010];
int main()
{
int i,j,h,l,k,num,n,m;
int t=0;
memset(a,0,sizeof(a));
for(i=2;i*i<1000010;i++)
{
if(!a[i])
{
for(j=i*i;j<1000010;j+=i)
{
a[j]=1;
}
}
}
for(i=2;i<1000010;i++)
{
if(!a[i])
{
l=0;
h=i;
while(h)
{
l+=h%10;
h/=10;
}
if(!a[l])
t++;
}
b[i]=t;
}
scanf("%d",&num);
for(k=1;k<=num;k++)
{
scanf("%d%d",&n,&m);
printf("Case #%d: %d\n",k,b[m]-b[n-1]);
}
return 0;
}
仿照别人的思路。。。。
相关文章推荐
- HDU 4548 美素数(西山居挑战赛)
- HDU 4548 美素数 (素数筛法)
- hdu-4548-美素数
- hdu 4548 美素数 20140724.cpp
- HDU 4548 美素数
- HDU 4548.美素数【打表】【预处理】【8月11】
- hdu 4548 美素数
- hdu 4548(素数打表)
- hdu 4548 素数打表
- hdu 4548 美素数 超级大水题
- 美素数 hdu 4548
- HDU 4548 -------美素数
- HDU 4548 美素数
- 【hdu 4548】美素数
- HDU 4548 美素数
- 美素数 HDU - 4548 (素数打表)
- hdu 4548 美素数
- HDU 4548 美素数(打表+预处理)
- HDU 4548 美素数【树状数组+筛法求素数】
- hdu 4548 美素数 金山居