Advertisement

RUNOOB Python编程题 19号完数找全

阅读量:

作为练习用的Python练习题,请参考见Python练习实例19

一个被称为"完数"的条件是一个正整数值正好等同于其所有真因子(即小于自身且能整除该值)之和。例如6就是一个典型的完數因为它恰好等於它的真因子1, 2, 3之總和為6.為此編寫程式來計算並列出现在小於或等於1000的所有完数值。

为了更好地认识完数的本质与意义,请问您首先需要弄清楚什么是完数?参照百度百科可知, 完全数(Perfect number)也被称为完美数或完备数, 是一类独特的自然数字.其定义指出, 每一个完全数字都满足这样一个特性: 其所有真因子(即除去自身之外的所有因数值)之总合正好是那个数字本身.

编写代码相对较为简单明了。然后先创建一个用于检测数字是否为完美数的函数。接着,在指定范围内进行遍历运算就能获取该区间内的所有完美数。

源代码如下:

复制代码
    import numpy as np
    result_numbers = np.array([])
    
    #函数用于找到所有num的真因数
    def find_factors(num):
      factors_mat = np.array([])
      # 一个数的真因数总是小于等于该数的一半
      demi_num = int(num/2)
      for i in range(1,demi

全部评论 (0)

还没有任何评论哟~