2686:打印完数
总时间限制: 1000ms 内存限制: 65536kB
描述
一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:

6 its factors are 1,2,3
输入
无输入
输出
输出1000以内所有的完数及其因子,每行一个完数。
样例输入
样例输出
来源
计算概论05

问题链接:Bailian2686 打印完数
问题简述:(略)
问题分析
  按Markdown格式重写了题解,旧版题解参见参考链接。
  优化的方法是素数打表,用素数去试除。这里使用的是暴力法。解题程序可以写一个函数来计算因子之和,也可以直接计算。
程序说明:(略)
参考链接:Bailian2686 打印完数【暴力】
题记:没有找到好算法,暴力法就是最好的办法。

AC的C语言程序(因子之和函数)如下:

/* Bailian2686 打印完数 */#include <stdio.h>#define N 1000
int ans[N / 3], cnt;int psum(int n)
{int i, sum = 1;for (i = 2, cnt = 0; i < n; i++)if (n % i == 0) sum += i, ans[cnt++] = i;return sum;
}int main(void)
{int i, j;for (i = 2; i <= N; i++) {if (psum(i) == i) {printf("%d its factors are 1", i);for (j = 0; j < cnt; j++)printf(",%d", ans[j]);printf("\n");}}return 0;
}

AC的C语言程序如下:

/* Bailian2686 打印完数 */#include <stdio.h>#define N 1000
int ans[N / 3], cnt;int main(void)
{int i, j;for (i = 2; i <= N; i++) {int sum = 1;for (j = 2, cnt = 0; j < i; j++)if (i % j == 0) sum += j, ans[cnt++] = j;if (sum == i) {printf("%d its factors are 1", i);for (j = 0; j < cnt; j++)printf(",%d", ans[j]);printf("\n");}}return 0;
}

Bailian2686 打印完数【暴力】相关推荐

  1. c语言打印完数及其因子,C语言打印出1000以内完数及其因子算法

    题目要求:编写程序,输出 1000 以内的所有完数及其因子.所谓完数是指一个整数的值等于它的因子之和,例如 6 的因子是 1,2,3,而 6=1+2+3,故 6 是一个完数./*求出 1000 以内的 ...

  2. C语言打印1000以内的完数

    C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...

  3. HDU 1406 完数

    完数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  4. hdu 1460 完数

    注意:num1和num2的大小未知,需比较! 有两种方法: 法一:素数打印+素数分解(求因数和公式) 1 #include<iostream> 2 #include<cstring& ...

  5. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  6. C语言经典编程题--哥德巴赫猜想 、完数 、猜数字等

      一.  验证歌德巴赫猜想:任意一个不小于6的偶数都可以表示成两个素数的和.从键盘任意给一个符合条件的数,输出相应的两个素数. 素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数 ...

  7. java 蓝桥杯算法训练 求完数(题解)

    试题 算法训练 8-2求完数 资源限制 时间限制:50.0s 内存限制:256.0MB 问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. ...

  8. [Java] 蓝桥杯ALGO-152 算法训练 8-2求完数

    问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例输出 与上面的样例输入对应的输出. 例: 数据规模和约定 1-9999 packa ...

  9. 蓝桥杯 AGLO-152 算法训练 8-2求完数

    问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例输出 与上面的样例输入对应的输出. 例:6就是一个完数 数据规模和约定 1-999 ...

最新文章

  1. CrazyDiskInfo硬盘检测工具 安装记录
  2. linux删除目录是显示非空,Linux删除非空目录
  3. Cloud for Customer的事件处理队列
  4. linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?
  5. 红黑树 键值_Java集合框架:红黑树概念、插入及旋转操作详细解读就问你会不会...
  6. PowerDesigner逆向工程从现有数据库生成PDM
  7. 利用Swoole编写一个TCP服务器,顺带测试下Swoole的4层生命周期
  8. Hibernate与mybatis比较
  9. Atitit 搜索的艺术 目录 1. 索引基础 2 1.1. 单词-文档矩阵 2 1.2. 倒排索引基本概念 3 2. 建立索引 4 2.1. 两遍文档遍历法(2-Pass In-Memory In
  10. 《老罗Android开发视频教程-安卓巴士》(Android 开发)
  11. 啊哈C语言 第8章 游戏时间到了(第29讲)
  12. PageRank算法(Dead ends、Spider Traps问题)
  13. CAN和CANFD的区别总结
  14. Java机器学习库(Java ML)(二、聚类)
  15. codelldb-x86_64-windows.vsix 下载
  16. C语言在链表里存储线段,C语言链表详解课件.ppt
  17. 主流游戏引擎分析 【端游 、页游 、手游 解析】
  18. java ee与j2ee_JavaEE/J2EE与J2SE/JDK版本的相关性
  19. 记录学习Android基础的心得07:硬件控制P1
  20. mysql 100个标题_100个超强吸引人的标题100个吸引人的标题

热门文章

  1. 频数直方图的步骤_如何运用QC七大手法和九大步骤分析问题?
  2. 阿群笔记:CentOS7 在线安装 docker 的推荐方法
  3. Intellij IDEA 添加jar包的三种方式
  4. 关于AJAX的安全性
  5. Direct3D顶点结构使用总结
  6. python键_Python键盘按键模拟
  7. element ui 菜单封装_vue模块化(echart+element ui)
  8. java有关问题,Java常见有关问题和解决方法
  9. 转码服务器 作用,转码服务器工作原理介绍.pdf
  10. android程序安全编码向导,Android安全编码规范