c语言求助大佬,真的受不了这道题了,测试点不对是为什么,打表都不对吗
查看原帖
c语言求助大佬,真的受不了这道题了,测试点不对是为什么,打表都不对吗
1114855
34zf楼主2023/10/31 01:29
#include<stdio.h>
int main()
{
	int a,b,len=1,Q;
	int zhishu(int a);
	scanf("%d%d",&a,&b);
	if(b>=5)printf("5\n");
	if(b>=7)printf("7\n");
	if(b>=11)printf("11\n");
	len=b/10;
	if(b>=3)
	for(int d1=1;d1<=9;d1=d1+2)//长度为三的回文数 
	for(int d2=0;d2<=9;d2++)
	{Q=d1*100+d2*10+d1;
	if(zhishu(Q)&&Q<=b)printf("%d,",Q);
	if(Q>b)return 0;
	}
	if(b>=5)
	for(int d1=1;d1<=9;d1=d1+2)//长度为五的回文数 
	for(int d2=0;d2<=9;d2++)
	for(int d3=0;d3<=9;d3++)
	{Q=d1*10000+d2*1000+d3*100+d2*10+d1;
	if(zhishu(Q)&&Q<=b)printf("%d,",Q);
	if(Q>b)return 0;
	}
	if(b>=7)
	for(int d1=1;d1<=9;d1=d1+2)//长度为七的回文数 
	for(int d2=0;d2<=9;d2++)
	for(int d3=0;d3<=9;d3++)
	for(int d4=0;d4<=9;d4++)
	{Q=d1*1000000+d2*100000+d3*10000+d4*1000+d3*100*d2*10+d1;
	if(zhishu(Q)&&Q<=b)printf("%d,",Q);
	if(Q>b)return 0;
	}	 
	
	return 0;
}
int zhishu(int a)
 {
 	for(int i=2;i*i<a;i++)
 	{
 		if(a%i==0)
 		{
 			return 0;
		}
 		
 		
 		
 		
	 }
	 return 1;
 }
2023/10/31 01:29
加载中...