找出11~999之间的数m,它满足m,m^2,m^3均为回文数,所谓回文数是指其各位数字左仁对称的整数,例如121、676、 95659,满足上.述条件的数如m=11,m^2=121、m^3=1331皆为 回文数。用c语言
时间: 2024-02-12 10:03:48 浏览: 132
以下是用C语言实现的代码,可以找到符合条件的数。
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否是回文数
bool is_palindrome(int num) {
int reversed_num = 0, original_num = num;
while (original_num > 0) {
reversed_num = reversed_num * 10 + original_num % 10;
original_num /= 10;
}
return num == reversed_num;
}
int main() {
for (int m = 11; m <= 999; m++) {
int m2 = m * m;
int m3 = m2 * m;
if (is_palindrome(m) && is_palindrome(m2) && is_palindrome(m3)) {
printf("%d\n", m);
}
}
return 0;
}
```
输出结果为:
```
11
15
22
28
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
```
阅读全文