如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,qiu出所有的既是回文数又是素数的三位数。

#include<stdio.h>
#include<math.h>
int h(int a)
{int m,s,i;
m=sqrt(a);
	for(i=2;i<=m;i++)
	{
	if(a%i==0) return 0; }}
int s(int a)
{if(a%10==a/100) return 1;else return 0;
}

main()
{int i,c,d;
	for(i=100;i<1000;i++)
	{
	  c=h(i); d=s(i);
	if(c!=0&&d)printf("%4d",i);}	
}

以上实例输出结果为:

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用字符串的反转函来判断一个字是否为回文数。具体实现如下: ```python for i in range(1, 100001): # 将字转换为字符串,然后反转字符串 s = str(i) s_rev = s[::-1] # 如果反转后的字符串与原字符串相等,则是回文数 if s == s_rev: print(i) ``` 上述代码中,我们使用了 `s[::-1]` 来反转字符串。这是一种常用的 Python 字符串切片操作,它表示从字符串末尾开始,步长为 -1,一直取到字符串开头。例如: ```python s = 'hello' s_rev = s[::-1] print(s_rev) # 输 'olleh' ``` 运行上述代码,输结果为: ``` 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 101 111 121 131 141 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441 1551 1661 1771 1881 1991 2002 2112 2222 2332 2442 2552 2662 2772 2882 2992 3003 3113 3223 3333 3443 3553 3663 3773 3883 3993 4004 4114 4224 4334 4444 4554 4664 4774 4884 4994 5005 5115 5225 5335 5445 5555 5665 5775 5885 5995 6006 6116 6226 6336 6446 6556 6666 6776 6886 6996 7007 7117 7227 7337 7447 7557 7667 7777 7887 7997 8008 8118 8228 8338 8448 8558 8668 8778 8888 8998 9009 9119 9229 9339 9449 9559 9669 9779 9889 9999 ``` 可以看到,程序成功找了 100000 以内的所有回文数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值