输出1-n的回文数使用python
时间: 2024-05-03 18:23:19 浏览: 12
回文数即正着读和倒着读都一样的数,例如121、1221等。
以下是输出1-n的回文数的Python代码:
```python
def is_palindrome(num):
"""判断一个数是否为回文数"""
return str(num) == str(num)[::-1]
def palindrome_numbers(n):
"""输出1-n的回文数"""
for i in range(1, n+1):
if is_palindrome(i):
print(i)
# 测试
palindrome_numbers(100)
```
输出结果为:
```
1
2
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
```
相关问题
写个输出前n个回文素数的Python代码
以下是输出前n个回文素数的Python代码:
```
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
def is_palindrome(num):
return str(num) == str(num)[::-1]
def palindrome_primes(n):
count = 0
num = 2
while count < n:
if is_prime(num) and is_palindrome(num):
print(num)
count += 1
num += 1
palindrome_primes(10) # 输出前10个回文素数
```
代码解析:
1. `is_prime` 函数用于判断一个数是否为素数,采用试除法,时间复杂度为 O(sqrt(n))。
2. `is_palindrome` 函数用于判断一个数是否为回文数,将数转化为字符串并反转,判断是否与原数相等即可。
3. `palindrome_primes` 函数用于输出前 n 个回文素数。初始化计数器 count 为 0,数 num 为 2。当计数器小于 n 时,判断 num 是否为素数且为回文数,如果是则输出并计数器加 1,否则继续遍历数 num。
给出数字N输出N位数的回文数
以下是输出 N 位回文数的 Python 代码示例:
```python
def print_palindromes(n):
start = 10**(n-1)
end = 10**n
for i in range(start, end):
if str(i) == str(i)[::-1]:
print(i)
# 测试输出5位数的回文数
print_palindromes(5)
```
输出结果为:
```
10001
10101
10201
10301
10401
10501
10601
10701
10801
10901
11011
11111
11211
11311
11411
11511
11611
11711
11811
11911
12021
12121
12221
12321
12421
12521
12621
12721
12821
12921
13031
13131
13231
13331
13431
13531
13631
13731
13831
13931
14041
14141
14241
14341
14441
14541
14641
14741
14841
14941
15051
15151
15251
15351
15451
15551
15651
15751
15851
15951
16061
16161
16261
16361
16461
16561
16661
16761
16861
16961
17071
17171
17271
17371
17471
17571
17671
17771
17871
17971
18081
18181
18281
18381
18481
18581
18681
18781
18881
18981
19091
19191
19291
19391
19491
19591
19691
19791
19891
19991
```
该函数可以输出任意位数的回文数,只需要在调用时传入相应的位数即可。