楼上的jyd能告诉我你的QQ吗?

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997

程序代码:long int big(int a)
{
long int sn,b=0,c,i,j,m=1,n,x,k[3000]={0,2};
printf("input a number:\n");
input: scanf("%ld",&x);
sn=sqrt(x);
if(sn%2==0)sn+=1;
for(i=3;i<=sn;i+=2)
{
j=prime(i); /*prime 是常规方法求素数的子涵数,把输入的x的平方根以内的素数求出来放在K数组*/
if(!j) /*如果返回值为0是素数*/
{
m++;k[m]=i;
}
}
for(i=1;i<=m;i++)
{
if(a=='4'&&(!(prime_super(k[i])))) /*以下几个if语句,是看主调涵数传来的什么值,选择求素数还是超级素数,或两种一起求*/
{
printf("%ld\t",k[i]); b++;
}
if(a=='5'&&(!(prime_super(k[i]))))
{
printf(">"); /*如果是两个一起求,就在超级素数前标记*/
b++;
}
if(a=='3'||a=='5')
printf("%ld\t",k[i]);
}
n=m;
for(i=sn;i<=x;i+=2) /*用x平方根到X的所有奇数对刚才数组求的的素数取余*/
{
for(j=1;j<=m;j++)
if(i%k[j]==0)break;
if(j>m)
{
if(a=='4'&&(!(prime_super(i)))) /*和上面几个if语句作用一样*/
{
printf("%ld\t",i); b++;
}
if(a=='5'&&(!(prime_super(i))))
{
printf(">");
b++;
}
n++;
if(a=='3'||a=='5')
printf("%ld\t",i);
}
}
if(a=='4'||a=='5')
printf("\n\tin %ld within super prime numbers sum is %ld ",x,b);
if(a=='3'||a=='5')
printf("\n\tin %ld within prime numbers sum is %ld ",x,n);
printf("\nIf necessary validate,press any key.exit press\"q\"\n");
while(getch()!='q')
answer('q');
}