for(i=2,sum=0;i<=1000000;i++){
if(num[i]==0){
sum++;
num[i]=sum;
}
}
scanf("%d",&k);
while(k--){
scanf("%d %d",&a,&b);
max=a>b?a:b;
min=a<b?a:b;
if(a==b){
if(a==0){
printf("0\n");
} else {
printf("%d",num[a]-num[a-1]);
}
} else {
printf("%d",num[max]-num[min]+1);
}
}
}
哪错了
这段计数有问题呀,这个sum值怎么填入num[i]里
for (i = 2, sum = 0; i <= 1000000; i++) {
if (num[i] == 0) {
sum++;
num[i] = sum;
}
}