(1)一个素数,若依次从低位去掉一位、两位、······若所得各数仍都为素数,则称该数为超级素数。例如:由于239、23、2均为素数,则239为超级素数。 (2)从键盘输入两个正整数m,n(m≤n),输出[m,n]之间的所有超级素数之和。

#include<stdio.h>
int isPrime(int x){
	int i;
	if(x<2)
		return 0;
	if(x==2)
		return 1;
	for(i=2;i*i<=x;i++){
		if(x%i==0)
			return 0;
	}
	return 1;
}
int isSuperPrime(int y){
    int z=y;
    while(isPrime(z)){
        z=z/10;
    }
    if(z==0){
        return y;
    }
    return 0;
}
int main(){
	int i,m,n,temp,sum=0;
	scanf("%d%d",&m,&n);
    for(;m<=n;m++)
    {
        sum=sum+isSuperPrime(m);
    }
	printf("%d",sum);
	return 0;		
} 

Logo

快速构建 Web 应用程序

更多推荐