大佬能帮我看看 哪里有问题吗,只有1和9的测试过了
查看原帖
大佬能帮我看看 哪里有问题吗,只有1和9的测试过了
659477
Cool484楼主2022/1/7 14:08
#include<stdio.h>
#include<math.h>

int Issu(int n);
int main()
{
	int d1,d2,d3,d4,H;
	int a,b; 
	scanf("%d%d",&a,&b);
	printf("5\n");
	if(b>=7)
	printf("7\n");
	if(b>=11)
	printf("11\n");
	
	if(b>99)
	{	for(d1=1;d1<10;d1+=2)//三位以内的回文质数 
		{
			for(d2=0;d2<10;d2++)
			{
				H=100*d1+10*d2+d1;
				if(H>b)
				break;
				if(Issu(H)==1)
				printf("%d\n",H);
			}	
		}
	}
       //无偶数位的回文质数 

	if(b>9999)
	{
		for(d1=1;d1<10;d1+=2)    // 五位 
		{
			for(d2=0;d2<10;d2++)
			{
				for(d3=0;d3<10;d3++)
				{
					H=10000*d1+1000*d2+100*d3+10*d2+d1;
					if(H>b)
		    		break;
					if(Issu(H))
					printf("%d\n",H);
				}
			}
		}
	}

	if(b>999999)
	{	for(d1=1;d1<10;d1+=2)    // 七位 
		{
			for(d2=0;d2<10;d2++)
			{
				for(d3=0;d3<10;d3++)
				{
					for(d4=0;d4<10;d4++)
					{
						H=1000000*d1+100000*d2+10000*d3+1000*d4+100*d3+10*d2+d1;
						if(H>b)
						break;
						if(Issu(H))
						printf("%d\n",H);
					}
				}
			}
		}
	}
	return 0;
}

int Issu(int n)     //判断素数 
{
	int is=1,i;
	for( i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
		{
			is=0;
			break;
		}
	}
	return is;
}```
2022/1/7 14:08
加载中...