zoukankan      html  css  js  c++  java
  • Python基础练习-002-求1000以内的完全数

    如果一个数恰好等于它的因子之和,那这个数就是完全数,比如第一个数是6,它的约数有1,2,3,6,除去6本身外6=1+2+3,第二个完全数是28=1+2+4+7+14,那么问题来了:求出1000以内完全数。

    分析过程:首先,要求出一个数字n的所有因子,即对1-n分别取余,余数为0即可;其次,再将这个数的所有因子(除了n本身)求和,如果等于n, 那么n就是完全数(perfect number)。

     1 #  -*- coding:utf-8 -*-
     2 # @Author : 飘飘_emmm
     3 # 方法1:
     4 a = range(1,1000)
     5 b = range(1,1000)
     6 perfectnum = []
     7 for i in a:
     8     temp = []
     9     for j in b:
    10         if j < i:
    11             if i%j==0:
    12                 temp.append(j)
    13             else:
    14                 continue
    15         else:
    16             break
    17     count = 0
    18     for m in temp:
    19         count = count + m
    20     if count ==i:
    21         perfectnum.append(i)
    22     else:
    23         continue
    24 print(perfectnum)
    25 
    26 # 方法二:
    27 for aa in range(1,1000):
    28     sum = 0
    29     for o in range(1,aa):
    30         if aa%o == 0:
    31             sum += o
    32     if sum == aa:
    33         print(aa)
    学习的道路无止境,冲鸭!!!
  • 相关阅读:
    去除图片水印
    CALayer
    UIKit Animation
    CoreAnimation
    3DTouch
    键盘事件
    weChat聊天发送图片带有小尖角的实现
    webView 和 js 交互 之 屏蔽 样式
    iOS socket编程
    tableView尾部多处一部分空白高度
  • 原文地址:https://www.cnblogs.com/piaopiao-emmm/p/9341970.html
Copyright © 2011-2022 走看看