码农谷 找出N之内的所有完数

题目描述

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子。

输入描述

N

输出描述

? its factors are ? ? ?

样例

输入:

1000

输出:

6 its factors are 1 2 3
28 its factors are 1 2 4 7 14
496 its factors are 1 2 4 8 16 31 62 124 248 

======================================================第一次code:
 1 import java.util.*;
 2
 3 public class HelloWorld
 4  {
 5      public static void main(String[] args)
 6      {
 7          Scanner input = new Scanner(System.in);
 8          int n = input.nextInt();
 9          start(run(n));
10      }    /**    *  求n以内的所有数的因数    *  每个数的所有因数以逗号为分隔,存到一个字符串数组    *  将所有数的因数集存到一个字符串中    */
11      public static String[] run(int n)
12      {
13          String a="",c="";
14          String [] b = new String[n+1];
15          for(int i=1;i<n+1;i++)
16          {
17              for(int j=1;j<i;j++)
18              {
19                  if(i % j ==0)
20                  {
21                      a=String.valueOf(j)+",";
22                      c +=a;
23                  }
24              }
25              b[i] = c;
26              c="";
27          }
28          return b;
29      }     /**     *  将字符串以逗号为分界,切割成数组     *  对数组和数组的下标进行比较     *  如果匹配成功,则输出结果     */
30      public static void start(String[] b)
31      {
32          for(int i=2;i<b.length;i++)
33          {
34              String[]c=b[i].split(",");
35              int x = 0;
36              String o,w="";
37              int [][] a = new int[b.length][c.length];
38              for(int k=0;k<c.length;k++)
39              {
40                  a[i-2][k]=Integer.parseInt(c[k]);
41                  x += a[i-2][k];
42              }
43              if(x==i)
44              {
45                  for(int k=0;k<c.length;k++)
46                  {
47                      o = String.valueOf(a[i-2][k]);
48                      w +=(" "+o);
49                  }
50                  System.out.println(i+" its factors are"+w);
51              }
52          }
53      }
54  }

测试结果显示,求1000的完数,耗费时间为76毫秒;求2000以内的完数,所耗时间为251毫秒;求10000以内的完数,所耗时间为6195毫秒。

时间效率不高,必须得提高。

posted on 2016-08-24 16:40 niithub 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/niithub/p/5801648.html

码农谷 找出N之内的所有完数相关推荐

  1. ACMNO.11 一个数如果恰好等于它的因子之和,这个数就称为“完数“。 例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数“。 编程序找出N之内的所有完数,并按下面格式输出其因子

    写在前面,心得感悟~ 代码越来越有难度! 这个ACM题,我调试了 将近50次~ 一个小时! 真的是,年纪轻轻的搞什么ACM呀! 关于题的解决思路放在下面再写吧! 题目描述 一个数如果恰好等于它的因子之 ...

  2. C语言学习之一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。

    一个数如果恰好等于它的因子之和,这个数就称为"完数".例如:6的因子为1,2,3,而6=1+2+3,因此6是"完数".编程序找出1000之内的所有完数,并按下面 ...

  3. python实现一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如, 6的因子为 1、2、3,而 6=1+2+3,因此 6 是完数。编程找出1000之内的所有完数

    一个数如果恰好等于它的因子之和,这个数就称为"完数" . 例如, 6 的因子为 1.2.3,同时6=1+2+3,因此 6 是完数. 编程找出 1000 之内的所有完数,并输出该完数 ...

  4. 找出1000之内的所有完数

    一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6的因子为1,2,3,而6=1+2+3,因此6是"完数".编程序找出1000之内的所有完数,并按照下 ...

  5. 如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数。

    如果一个数等于它的因子之和,则称该数为"完数"(或"完全数").例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数".编程找出10 ...

  6. c语言:编程找出1000之内的所有完数。

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

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

    一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6的因子1,2,3而6 = 1+2+3,因此6是完数.编程序找出1000之内的所有完数 #include <std ...

  8. python求完数的因子_「每日一练」巧用python找出1000以内的所有完数

    原标题:「每日一练」巧用python找出1000以内的所有完数 "完数"指的是一个数恰巧等于它的所有因子之和,比如说6,它的因子分别是1,2,3,而6正好等于1+2+3,所以6就是 ...

  9. C语言编程找出1000以内的所有完数

    问题描述:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 问题分析:控制好for循环是关键 程序源码: #include ...

  10. 找出1000以内的所有完数。

    1 ''' 2 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 3 找出1000以内的所有完数. 4 ''' 5 # 报错是因为之前定义了sum= ...

最新文章

  1. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 4. 二分类线性判别分析
  2. Java基础学习总结(6)——面向对象
  3. android:windowBackground 和 android:background 的区别
  4. Service Mesh 是什么,我们为什么需要它?
  5. ISO 5 Lecture for Micro-Macro Interactions
  6. 使用C#进行Word 2002和Excel 2002编程
  7. HBase体系架构说明
  8. python遗传算法工具箱的使用_遗传算法的python实现,非常值得看的一篇文章
  9. linux集群启动脚本,Hadoop2.2.0集群启动和停止Shell脚本
  10. Java 9 揭秘(15. 增强的弃用注解)
  11. 三屏设置相关技术收集
  12. pk8/x509.pem转换为keystore
  13. 回溯(backtrack)
  14. 火车头文章标题伪原创插件(文章双标题插件)
  15. 逻辑回归算法梳理(从理论到示例)
  16. 银行卡四元素/四要素校验API,银行卡实名认证接口文档
  17. 2022微软苏州Software Engineer校招暑期实习生二面
  18. 全志V3S H.264 对视频进行编码的过程
  19. 盐城北大青鸟东台基地学员生日会 | 美好的时光里,你我同在
  20. uva 10306(完全背包)

热门文章

  1. java 垃圾回收题目_我肝了万字的Java垃圾回收,看完你还敢说不会?
  2. Git图形化操作:Revert(恢复)本地的修改到上一个版本
  3. Linux下 PHP 安装ioncube扩展
  4. Thinkphp apart_level 自定义独立日志
  5. PHPExcel 表格 行 合并
  6. php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
  7. 刚接触新工作的程序员:直接运行include
  8. 2021-11-17
  9. 面对技术难题,都是硬着头皮向前冲
  10. 如何在C中调用C++的示例代码