完数:

  第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。

如求1000以内的完数代码如下:

#include<stdio.h>
int main()
{int i , n , sum;for(n = 1; n < 1000; n++){sum = 0;for(i = 1; i < n; i++){ if(n % i == 0){sum += i;}}if(sum == n){printf("%d\n",n);}}return 0;
}

输出结果展示:

6
28
496

利用函数,求该完数的所有因子:

代码如下:

#include<stdio.h>
#include<assert.h>
int Perfect(int num, int *arr)
{assert(num > 0);int sum = 0, count = 0;for(int i = 1; i <= num; i++){if(num % i ==0){sum += i;arr[count++] = i;}}return count;
}
int main()
{int arr[500] = {0};int n = Perfect(6,arr);for(int i = 0; i < n; i++){printf("%d\n", arr[i]);}return 0;
}

输出结果为:

1
2
3
6

C语言 完数问题求解相关推荐

  1. 素数完数c语言,完数—C语言实现

    题目:一个数如果恰好等于它的所有因子之和,这个数就称为"完数".例如1+2+4+7+14=28.编程 找出1000以内的所有完数. #include "Stdio.h&q ...

  2. c语言完数报告,C语言 · 完数

    Android开发之 Windows环境下通过Eclipse创建的第一个安卓应用程序(图文详细步骤) 第一篇  windows环境下搭建创建的第一个安卓应用程序 为了方便,我这里只采用了一体包进行演示 ...

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

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

  4. C语言 | 求1000以内的所有完数及求2000以内最大的完数(C源代码)

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  5. 每日程序C语言13-求1000以内的完数

    题目: 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3,找出1000以内的所有完数 程序分析 利用for语句,外层循环控制1000这个范围,内层循环控制数 ...

  6. 完数c++语言程序_C语言经典100题(19)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(18)中第三部分编程题的答案: #includeint main(){ int s=0,a,n,t; printf("请输入 a ...

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

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

  8. (篇六)C语言求自首数、完数、亲密数

    文章目录 一.求自首数 二.求完数 三.求亲密数 本篇主要介绍C语言中求自首数.完数和自然常数e的求解算法 一.求自首数 1.自首数: 自守数是指一个数的平方的尾数等于该数自身的自然数. 自首数是按位 ...

  9. 第5关:C循环-寻找完数-------C语言程序设计技术(循环结构程序设计2)

    第5关:C循环-寻找完数-------C语言程序设计技术(循环结构程序设计2) #include<stdio.h>int main(void){ /*********Begin****** ...

  10. C语言求解1000以内的完数

    C语言求解1000以内的完数 #include<stdio.h> int main(){int i,j;//求完数,如6是完数,6的因子有1,2,3,6=1+2+3 int sum;for ...

最新文章

  1. 网络设置计算机,怎么重置电脑网络设置
  2. 行集函数:OpenRowSet 和 OpenQuery
  3. python打印乘法表口诀-用Python打印九九乘法表正三角和倒三角。
  4. MySQL 数据类型讲解 和Java中所对应的数据类型讲解
  5. 002 模板实参推断、重载与模板
  6. 3-3:类与对象中篇——默认成员函数之构造函数和析构函数
  7. 马斯克:2024年送人上火星 2050年建城
  8. 模型加速:WAE-Learning a Wavelet-like Auto-Encoder to Accelerate Deep Neural Networks
  9. 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层
  10. Python繁体中文和简体中文互转
  11. html 制作用户注册页面模板,注册登录页面模板
  12. 图文解析大二层网络及VxLAN技术
  13. kudu设计-tablet
  14. 冒险岛2无限服务器断开,冒险岛2无限龙无限命版
  15. 面试连环炮之Mysql
  16. 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
  17. (4.2.29) Android开发学习之基于ZBar实现微信扫一扫
  18. 从技法到兵法:今天为何必须关注物理世界的企业智能?
  19. Windows 安全系列05-U盘安全
  20. 【分类汇总】idea快捷键、idea配置、常用插件

热门文章

  1. 饱暖思淫欲之美女图片的Python爬虫实例(一)
  2. 2019年11月~2020年7月CCF会议列表-计算机视觉计算机图形学
  3. 一个***的自白(续)
  4. hadoop大数据架构
  5. java-jna win32 api使用
  6. 非 ROOT 安卓内录
  7. netty银行账目管理系统_基于Java的银行帐目管理系统.doc
  8. error:“Component name “Home“ should always be multi-word vue/multi-word-component-names“
  9. Spring定时器-Cron表达式
  10. 安装python报错:Detected Windows 7 SP1 without KB2533623