python-亲和数(赛氪OJ)

[题目描述]
古希腊数学家毕达哥拉斯在自然数研究中发现,220 的所有真约数(即不是自身的约数)之和为:
1+2+4+5+10+11+20+22+44+55+110=284 。
而 284 的所有真约为 1 、 2 、 4 、 71 、 142 ,加起来恰好为 220 。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。
你的任务就编写一个程序,判断给定的两个数是否是亲和数。
输入格式:
输入数据第一行包含一个数 M ,接下有 M 行,每行一个实例,包含两个整数 A , B 。
输出格式:
对于每个测试实例,如果 A 和 B 是亲和数的话输出YES,否则输出NO。
样例输入
2
220 284
100 200
样例输出
YES

NO
数据范围:
对于 100% 的数据,保证 1≤A,B≤600000 。
来源/分类(难度系数:一星)


完整代码展示:
a=int(input())
b=[]
for i in range(a):
     c=list(map(int,input().split()))
     b.append(c)
d=0
while d<len(b):
       e=b[d][0]
       f=b[d][1]
       g=[]
       h=[]
       for j in range(1,e):
             if e%j==0:
                   g.append(j)
       for k in range(1,f):
             if f%k==0:
                   h.append(k)
       if sum(g)==f and sum(h)==e:
             print("YES")
      else:
             print("NO")
       d+=1


代码解释:
a=int(input())
 b=[] 
                  ”,让用户输入需要测试的数据组数a。建立一个空列表b。
for i in range(a):
       c=list(map(int,input().split()))
       b.append(c)                                
”,建立一个列表c,储存每组需要测试的数据,并将其添加进列表b中。重复以上操作循环a次。
d=0
 while d<len(b):
        e=b[d][0]
        f=b[d][1]
        g=[]
        h=[]
        for j in range(1,e):
              if e%j==0:
                    g.append(j)
       for k in range(1,f):
              if f%k==0:
                    h.append(k)
       if sum(g)==f and sum(h)==e:
             print("YES")
      else:
             print("NO")
      d+=1                                            
”,令d==0,当d<len(b)时,令e==b[d][0],f==b[d][1],建立两个空列表g,h。遍历从1到e-1的所有数,查找能被e整除的数字,并将其添加进列表g中,直至循环结束;列表h同理。两次循环均结束后,判断列表g中所有元素的总和是否为f,同时判断列表h中所有元素的总和是否为e;如果均是,则输出“YES”,否则输出“NO”。每循环一次,就让d+=1,直至d==len(b),跳出整个while循环。


运行效果展示:

94c551d8808f4fde8b073d4602f24c57.jpg

d1098dff51624830b83b5a8dfd51e542.jpg 

              (声明:以上内容均为原创) 

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 16:26:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 16:26:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 16:26:01       57 阅读
  4. Python语言-面向对象

    2024-07-13 16:26:01       68 阅读

热门阅读

  1. 搭建安全扩展

    2024-07-13 16:26:01       17 阅读
  2. 金币程序题

    2024-07-13 16:26:01       21 阅读
  3. Docker Compose 启动容器例子

    2024-07-13 16:26:01       20 阅读
  4. vue3下载base64文件

    2024-07-13 16:26:01       22 阅读
  5. 使用 WebSocket 进行实时数据传输

    2024-07-13 16:26:01       21 阅读
  6. Redis中的管道技术

    2024-07-13 16:26:01       19 阅读
  7. C语言学习第一章--分步编译

    2024-07-13 16:26:01       17 阅读
  8. 力扣题解( 最长数对链)

    2024-07-13 16:26:01       20 阅读