Bailian2686 打印完数【暴力】
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 打印完数【暴力】相关推荐
- c语言打印完数及其因子,C语言打印出1000以内完数及其因子算法
题目要求:编写程序,输出 1000 以内的所有完数及其因子.所谓完数是指一个整数的值等于它的因子之和,例如 6 的因子是 1,2,3,而 6=1+2+3,故 6 是一个完数./*求出 1000 以内的 ...
- C语言打印1000以内的完数
C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...
- HDU 1406 完数
完数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 1460 完数
注意:num1和num2的大小未知,需比较! 有两种方法: 法一:素数打印+素数分解(求因数和公式) 1 #include<iostream> 2 #include<cstring& ...
- 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...
- C语言经典编程题--哥德巴赫猜想 、完数 、猜数字等
一. 验证歌德巴赫猜想:任意一个不小于6的偶数都可以表示成两个素数的和.从键盘任意给一个符合条件的数,输出相应的两个素数. 素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数 ...
- java 蓝桥杯算法训练 求完数(题解)
试题 算法训练 8-2求完数 资源限制 时间限制:50.0s 内存限制:256.0MB 问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. ...
- [Java] 蓝桥杯ALGO-152 算法训练 8-2求完数
问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例输出 与上面的样例输入对应的输出. 例: 数据规模和约定 1-9999 packa ...
- 蓝桥杯 AGLO-152 算法训练 8-2求完数
问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例输出 与上面的样例输入对应的输出. 例:6就是一个完数 数据规模和约定 1-999 ...
最新文章
- CrazyDiskInfo硬盘检测工具 安装记录
- linux删除目录是显示非空,Linux删除非空目录
- Cloud for Customer的事件处理队列
- linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?
- 红黑树 键值_Java集合框架:红黑树概念、插入及旋转操作详细解读就问你会不会...
- PowerDesigner逆向工程从现有数据库生成PDM
- 利用Swoole编写一个TCP服务器,顺带测试下Swoole的4层生命周期
- Hibernate与mybatis比较
- Atitit 搜索的艺术 目录 1. 索引基础	2 1.1. 单词-文档矩阵	2 1.2. 倒排索引基本概念	3 2. 建立索引	4 2.1. 两遍文档遍历法(2-Pass In-Memory In
- 《老罗Android开发视频教程-安卓巴士》(Android 开发)
- 啊哈C语言 第8章 游戏时间到了(第29讲)
- PageRank算法(Dead ends、Spider Traps问题)
- CAN和CANFD的区别总结
- Java机器学习库(Java ML)(二、聚类)
- codelldb-x86_64-windows.vsix 下载
- C语言在链表里存储线段,C语言链表详解课件.ppt
- 主流游戏引擎分析 【端游 、页游 、手游 解析】
- java ee与j2ee_JavaEE/J2EE与J2SE/JDK版本的相关性
- 记录学习Android基础的心得07:硬件控制P1
- mysql 100个标题_100个超强吸引人的标题100个吸引人的标题
热门文章
- 频数直方图的步骤_如何运用QC七大手法和九大步骤分析问题?
- 阿群笔记:CentOS7 在线安装 docker 的推荐方法
- Intellij IDEA 添加jar包的三种方式
- 关于AJAX的安全性
- Direct3D顶点结构使用总结
- python键_Python键盘按键模拟
- element ui 菜单封装_vue模块化(echart+element ui)
- java有关问题,Java常见有关问题和解决方法
- 转码服务器 作用,转码服务器工作原理介绍.pdf
- android程序安全编码向导,Android安全编码规范