输一个数,求到这个数以内的完数(详解)

完数即完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和(即因子函数)恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为"完全数"。

第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。后面的完全数还有8128、33550336等等。

cs 复制代码
#include<stdio.h>//求完数
int main()
{
	int i = 0;
	int j = 0;
	int n = 2;
	int sum = 0;
	printf("输入一个数:");
	scanf("%d", &j);
	while(n!=j)
	{
		n++;
		sum = 0;
		for (i = 1; i < n; i++)
		{
			if (n % i == 0)
				sum += i;
		}
		if (sum == n)
			printf("%d是完数\n", n);
	}
	return 0;
}
相关推荐
日拱一卒——功不唐捐32 分钟前
红黑树删除(C语言)
c语言·数据结构
清泓y1 小时前
RAG 技术
算法·ai
阿慧今天瘦了嘛1 小时前
计算机组成原理概述:从硬件到软件的桥梁
计算机网络·算法
网站优化(SEO)专家2 小时前
SEO核心算法拆解:网站排名快速提升的武林秘籍!
算法·搜索引擎·网站排名·核心算法
惊讶的猫2 小时前
CLGSI
人工智能·算法·机器学习
ysa0510303 小时前
【板子】二分答案(最大最小?)
c++·笔记·算法·板子
科技之门3 小时前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
木木子224 小时前
# 猜数字游戏 — HarmonyOS交互逻辑与随机算法实现
算法·游戏·华为·交互·harmonyos
stolentime4 小时前
SP8549 MAIN75 - BST again题解
c++·算法·二叉树·深度优先·图论·记忆化搜索·组合数学
ziguo11224 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio