1000以内的“完数”
题目:一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
首先根据题目,要求1000以内的完数,则需要定义一个变量 num 来表示1~1000
然后定义一个变量 i 用来表示因子,定义一个变量 sum 来表示因子相加的和;
原本代码如下:
#include <stdio.h>int main() //错误代码
{int num, sum, i;for(num = 1; num <= 1000; num ++){sum = 0;for (i = 1; i <= num; i++) //出错位置, 因子 i 不能等于 num 自身{if (num % i == 0){sum += i;}}if(sum == num){printf("%d", num);}}return 0;
}
运行发现结果错误,只能输出1;
经检查发现,第二个 for 循环中,我错误地将数本身也当成因子,导致写出的程序出现错误;
正确代码如下:
#include <stdio.h>int main()
{int num, sum, i;for(num = 1; num <= 1000; num ++){sum = 0; //每次判断一个数都要将 sum 初始化为 0for (i = 1; i < num; i++){if (num % i == 0) //num 能被 i 整除,说明 i 是 num 的因子{sum += i; //累加因子}}if(sum == num){printf("%d", num);}}return 0;
}
检查无误后运行,输出结果为:
6
28
496
1000以内的“完数”相关推荐
- C语言打印1000以内的完数
C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...
- 求 1000 以内的完数
求 1000 以内的完数 完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.例如:6 = ...
- java蓝桥杯算法训练 求1000以内的完数(题解)
试题 算法训练 求1000以内的完数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为"完数". ...
- java求1000以内所有完数
这回是java编写,求1000以内所有完数. 完数:一个数如果恰好等于除它本身外的因子之和,这个数就称为完数. 例:6=1+2+3(6的因子是1,2,3). public class java7{ p ...
- C#求1000以内的完数
1000以内的完数 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子 ...
- python 求1000以内的完数
一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如6=1+2+3.编程找出1000以内的所有完数. count = 0 for i in range(1,1001):li ...
- C语言求解1000以内的完数
C语言求解1000以内的完数 #include<stdio.h> int main(){int i,j;//求完数,如6是完数,6的因子有1,2,3,6=1+2+3 int sum;for ...
- 找到1000以内的完数 利用Python实现
找到1000以内的完数 利用Python实现 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6 的因子为1. 2.3,而6=1+2+3,因此6 是完数.编程,找 ...
- Java输出1000以内的完数(完数是恰好等于它的因子之和)
一个数恰好等于他的因子之和,那么这个数就是完数,因子就是所有可以整除这个数的数,不包括这个数本身. 要求1000以内的完数,只要将一个数的因子求出来,加起来,比较下.上代码 /*** */ packa ...
最新文章
- 以技术面试官的经验分享毕业生和初级程序员通过面试的技巧(Java后端方向)...
- IC基础知识(1)集成电路(IC)简介
- 复制订阅服务器和 AlwaysOn 可用性组 (SQL Server)
- kali工具中文手册_Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题
- SpringBoot中在除controller以外注入service-过滤器中注入
- win10安装kafka
- pydebugger
- linux中sybase删除数据库,Linux_Sybase ASE数据库的常见问题解答,1 数据库占用磁盘空间的形式 - phpStudy...
- 数据表的新建 修改 删除 mysql
- 1007.422通信问题
- 测试人必备实用技能:写出一份好的Bug报告
- 安装 Python IDLE (Linux)
- python入门指南-python3.6.0入门指南(官方版).pdf
- C/C++[codeup 1944]八进制
- 无稽之谈--关于我自己的程序世界
- 雷达原理笔记之LFMCW雷达测距测速原理
- 阿里云存储oss依赖报错解决方法
- 【从Java转C#】第八章:委托、lambda、事件
- 多种好看好玩的词云例子Example
- python打包成exe其他电脑运行不了_将python文件打包成exe程序,复制到每台电脑都可以运行-exe是什么文件...