如果一个数恰好为这个数倒过来写的倍数我们称这个数是神奇的计算小于等于n的正整数中有多少个数字是神奇的用Python实现
思路:
-
遍历1到n的所有正整数;
-
将每个正整数转化为字符串,然后将字符串反转,再转化为整数;
-
判断反转后的数是否是原数的倍数,如果是,则计数器加一。
代码实现:
def is_magic(num):
# 判断一个数是否是神奇数
reverse_num = int(str(num)[::-1])
if reverse_num == 0:
return False
return num % reverse_num == 0
def count_magic_numbers(n):
# 计算小于等于n的神奇数的个数
count = 0
for i in range(1, n+1):
if is_magic(i):
count += 1
return count
n = 100
print(count_magic_numbers(n)) # 输出19
测试结果:
当n=100时,小于等于n的神奇数有19个。
原文地址: https://www.cveoy.top/t/topic/bTnj 著作权归作者所有。请勿转载和采集!