zoukankan      html  css  js  c++  java
  • Python和Java编程题(一)

    今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题

    题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html

    1.题目

    一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。

    2.Java实现

    Java中的通过创建对象,再来调用方法解决问题思想还是不太熟练

     1 public class ProfectNumber {
     2     /*
     3      * 定义计算数字的因子总和
     4      */
     5     public void GetProfectNumber(int a) {
     6         for(int i=2;i<a;i++) {
     7             int Sum = 0;
     8             for(int j=1;j<i;j++) {// 求数字i的出本身之外的因子
     9                 if(i%j==0) {
    10                     Sum += j;
    11                 }
    12             }
    13             if(i==Sum) {
    14                 System.out.print(i+"、");
    15             }
    16         }
    17     }
    18     
    19     public static void main(String args[]) {
    20         ProfectNumber p = new ProfectNumber();//新建此类对象
    21         p.GetProfectNumber(1000);//调用计算完数方法
    22     }
    23 }

    3.Python实现

     1 # -*- coding: utf-8 -*-
     2 # 一个数等于除它本身之外的因子之和,称为完数
     3 def Factor(a, L):
     4     for j in range(1,a):
     5         if a%j == 0:
     6             L.append(j)
     7     return L
     8 
     9 if __name__ == '__main__':
    10     ProNumber = []
    11     for i in range(2,1000):# 1不是完数,可以排除
    12         A = []
    13         FactorList = Factor(i, A)
    14         if sum(FactorList) == i:
    15             ProNumber.append(i)
    16     print("1000以内总共有{}个完数,分别是".format(len(ProNumber)))
    17     for index in range(0,len(ProNumber)):
    18         print(ProNumber[index])
  • 相关阅读:
    python函数及模块
    Python分支结构及循环结构
    python基本的知识
    11.21学习总结
    进度日报28
    进度日报27
    进度日报26
    进度日报25
    进度日报24
    11.14学习总结
  • 原文地址:https://www.cnblogs.com/xiang9286/p/9671391.html
Copyright © 2011-2022 走看看