C语言 完数问题求解
完数:
第一个完全数是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语言 完数问题求解相关推荐
- 素数完数c语言,完数—C语言实现
题目:一个数如果恰好等于它的所有因子之和,这个数就称为"完数".例如1+2+4+7+14=28.编程 找出1000以内的所有完数. #include "Stdio.h&q ...
- c语言完数报告,C语言 · 完数
Android开发之 Windows环境下通过Eclipse创建的第一个安卓应用程序(图文详细步骤) 第一篇 windows环境下搭建创建的第一个安卓应用程序 为了方便,我这里只采用了一体包进行演示 ...
- C语言打印1000以内的完数
C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...
- C语言 | 求1000以内的所有完数及求2000以内最大的完数(C源代码)
================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...
- 每日程序C语言13-求1000以内的完数
题目: 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3,找出1000以内的所有完数 程序分析 利用for语句,外层循环控制1000这个范围,内层循环控制数 ...
- 完数c++语言程序_C语言经典100题(19)
1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(18)中第三部分编程题的答案: #includeint main(){ int s=0,a,n,t; printf("请输入 a ...
- 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...
- (篇六)C语言求自首数、完数、亲密数
文章目录 一.求自首数 二.求完数 三.求亲密数 本篇主要介绍C语言中求自首数.完数和自然常数e的求解算法 一.求自首数 1.自首数: 自守数是指一个数的平方的尾数等于该数自身的自然数. 自首数是按位 ...
- 第5关:C循环-寻找完数-------C语言程序设计技术(循环结构程序设计2)
第5关:C循环-寻找完数-------C语言程序设计技术(循环结构程序设计2) #include<stdio.h>int main(void){ /*********Begin****** ...
- C语言求解1000以内的完数
C语言求解1000以内的完数 #include<stdio.h> int main(){int i,j;//求完数,如6是完数,6的因子有1,2,3,6=1+2+3 int sum;for ...
最新文章
- 网络设置计算机,怎么重置电脑网络设置
- 行集函数:OpenRowSet 和 OpenQuery
- python打印乘法表口诀-用Python打印九九乘法表正三角和倒三角。
- MySQL 数据类型讲解 和Java中所对应的数据类型讲解
- 002 模板实参推断、重载与模板
- 3-3:类与对象中篇——默认成员函数之构造函数和析构函数
- 马斯克:2024年送人上火星 2050年建城
- 模型加速:WAE-Learning a Wavelet-like Auto-Encoder to Accelerate Deep Neural Networks
- 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层
- Python繁体中文和简体中文互转
- html 制作用户注册页面模板,注册登录页面模板
- 图文解析大二层网络及VxLAN技术
- kudu设计-tablet
- 冒险岛2无限服务器断开,冒险岛2无限龙无限命版
- 面试连环炮之Mysql
- 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
- (4.2.29) Android开发学习之基于ZBar实现微信扫一扫
- 从技法到兵法:今天为何必须关注物理世界的企业智能?
- Windows 安全系列05-U盘安全
- 【分类汇总】idea快捷键、idea配置、常用插件
热门文章
- 饱暖思淫欲之美女图片的Python爬虫实例(一)
- 2019年11月~2020年7月CCF会议列表-计算机视觉计算机图形学
- 一个***的自白(续)
- hadoop大数据架构
- java-jna win32 api使用
- 非 ROOT 安卓内录
- netty银行账目管理系统_基于Java的银行帐目管理系统.doc
- error:“Component name “Home“ should always be multi-word vue/multi-word-component-names“
- Spring定时器-Cron表达式
- 安装python报错:Detected Windows 7 SP1 without KB2533623