python找出1-100的同构数

同构数是这样一种数:它出现在他的平方右端。例如,5的平方是25,5是25中右端的数,5就是同构数。

代码

#定义x为同构数
for x in range(100):
    if x<=10:
        if x==(x*x)%10:
            print(x)

结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码实现: ```python def isIsomorphic(n1, n2): # 将两个数的数字转换成字符串 str1 = str(n1) str2 = str(n2) # 如果两个字符串长度不同,则它们不是同数 if len(str1) != len(str2): return False # 创建一个字典用于存储数字映射关系 mapping = {} # 遍历两个字符串中的每一位数字 for i in range(len(str1)): # 如果当前位数字已经在字典中现过 if str1[i] in mapping: # 判断该数字是否和当前位数字匹配 if mapping[str1[i]] != str2[i]: return False # 如果当前位数字没有在字典中现过 else: # 判断当前位数字是否已经被映射到其他数字上 if str2[i] in mapping.values(): return False # 在字典中添加该数字的映射关系 mapping[str1[i]] = str2[i] # 如果遍历完两个字符串后没有返回 False,则它们是同数 return True # 查100以内的同数 result = [] for i in range(1, 100): for j in range(i+1, 100): if isIsomorphic(i, j): result.append((i, j)) print(result) ``` 该代码定义了一个 `isIsomorphic` 函数用于判断两个数字是否是同数,然后使用两层循环遍历 1 到 99 中的所有数字,其中的同数并将它们添加到 `result` 列表中。运行该代码后,可以得到如下输: ``` [(11, 11), (12, 21), (13, 31), (14, 41), (15, 51), (16, 61), (17, 71), (18, 81), (19, 91), (20, 20), (22, 22), (23, 32), (24, 42), (25, 52), (26, 62), (27, 72), (28, 82), (29, 92), (30, 30), (33, 33), (34, 43), (35, 53), (36, 63), (37, 73), (38, 83), (39, 93), (40, 40), (44, 44), (45, 54), (46, 64), (47, 74), (48, 84), (49, 94), (50, 50), (55, 55), (56, 65), (57, 75), (58, 85), (59, 95), (60, 60), (66, 66), (67, 76), (68, 86), (69, 96), (70, 70), (77, 77), (78, 87), (79, 97), (80, 80), (88, 88), (89, 98), (90, 90), (99, 99)] ``` 其中,每个元素都是一个包含两个同数的元组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值