i am not understanding what is problem with me.
im finding all output correct using my algo.
but why i am finding Wa. ??
- Code: Select all
#include <stdio.h>
bool data[1000100]={0};
long long dt[1000100]={0},i,j,n,m,count,max=0,num,num2;
long long test;
int main()
{
for (i=2; i<=1000; )
{
for (j=2*i; j<=1000000; j+=i) data[j]=1;
for (i++; data[i]; i++);
}
data[0]=data[1]=1;
max=0;
scanf("%lld",&test);
while (test--)
{
scanf("%lld%lld",&n,&m);
count=0;
if (m>max)
{
for (i=max; i<=m; i++)
{
if (data[i])
{
dt[i]=dt[max]+count;
continue;
}
num=i;
num2=0;
while (num)
{
num2+=num%10;
num/=10;
}
if (!data[num2]) count++;
dt[i]=dt[max]+count;
}
max=m;
}
printf("%lld\n",dt[m]-dt[n-1]);
}
return 0;
}
Please somebody explain (used data as Prime Table (0 is prime) (1 is not prime));
thanx