Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:91687

签 名:

2023终究会过去,期待2024!

等  级
排  名 8
经  验 26427
参赛次数 61
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

解题思路:

    1.编写一个huiwen(int x)函数判断整数x是否回文数。

    2.编写一个prime(int n)函数判断n是否是素数。

    3.在主函数中判断a到b的所有奇数是否是回文素数,即可。


参考代码:

#include <stdio.h> 
#include <math.h>
#include <string.h>
int huiwen(int x)   //判断是否是回文数 
{
	char str[11];
	sprintf(str,"%d",x);  //转换为字符串 
	for(int i=0,j=strlen(str)-1;i<j;i++,j--)
		if(str[i]!=str[j]) return 0;
	return 1;
}
int prime(int n) //判断是否是素数 
{
	int m=sqrt(n);
	for(int i=2;i<=m;i++)
		if(n%i==0) return 0;
	return 1;
}
int main() 
{
	int a,b;
	scanf("%d%d",&a,&b);
	if(a%2==0) a=a+1; //如果a是偶数,则a+1,从奇数开始,大于等于5的偶数不会是素数 
	for(int i=a;i<=b;i=i+2) //判断每一个奇数即可,跳过偶数,可以减少一半 
	{
		if(huiwen(i) && prime(i))
			printf("%d\n",i);
	}	
	return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区