如果一个数正好是他的所有约数(除了它本身以外)的和,称为完备数,

如:6,它的约数有1,2,3,并且1+2+3=6.求出30000以内的所有完备数,并显示输出。

(求完备数用函数实现)(参考函数原型:void find(int j),直接在函数中输出小于等于j的完备数及其所有约数)

输入输出格式要求:

编写函数void find(int j);直接在函数中输出小于等于j的完备数及其所有约数

输出格式:

完备数=约数+约数+约数...回车

(约数从小到大)

例如:

find(40);

输出:

6=1+2+3回车

28=1+2+4+7+14回车

#include

#include

void find(int m)

{

int count;

int i, j;

for (i = 4; i <= m; i+=2)//迄今发现的完数都是偶数,所以只考察m内的偶数

{

for (count=1,j = 2; j*j <= i; j++)//用2、3、4……去除i,直到i的平方根

{

if (!(i%j))

count += (j != i / j ? j + i / j : i);//若能整除则把由下一句把因子加到count上,count初值=1是因为1肯定是因子

}

if (count == i)

{//当因子和count等于i时i就是完数,由以下语句输出因子和的表达式

printf("%d=1", i);

for ((count >>= 1) += 1, j = 2; j < count; j++)//用2、3、4……去除这个完数,直到它的一半,也可以用数组记录下每个因子,然后输出数组的每个元素

{

if (!(i%j))//若能整除,则j就是它的一个因子

printf("+%d", j);//将这个因子用+号连接输出

}

printf("\n");//结尾按照格式要求输入回车符

}

}

}

int main()

{

int m;

scanf_s("%d", &m);

find(m);

system("pause");

return 0;

}

因子完备数c语言,编写函数输出完备数及其所有约数相关推荐

  1. c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.

    C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...

  2. 【牛客网】C语言入门 - CC3 编写函数实现两数交换(指针方式)

    题目描述 题目链接:编写函数实现两数交换(指针方式) 描述 编写一个函数,实现两个整数的交换,要求采用指针的方式实现. 输入描述: 键盘输入2个整数 m 和 n 输出描述: 输出交换后m 和 n 的值 ...

  3. m被3整除的c语言表达式,C语言编写函数fun,实现从整数m到n,能被3整除

    1.用c语言编写程序,实现输入10个数,分别求其最大值.最小值及平均数,要求用函数实现. #includevoidfun(doublea[10],intn){inti;doubleave,max,mi ...

  4. max日期最大值为0_C语言编写程序输出10个整数中最小值或最大值

    C语言编写程序输出10个整数中最小值或最大值 这是一个比较基础,同时也包含C语言中诸多特点的程序,仔细体会有很多的格式规则和技巧.其中包括:输入语句,输出语句,数组,分支结构,循环结构.希望广大C语言 ...

  5. c语言一个整数各位数字个数_C语言编写程序输出10个整数中最小值或最大值

    C语言编写程序输出10个整数中最小值或最大值 这是一个比较基础,同时也包含C语言中诸多特点的程序,仔细体会有很多的格式规则和技巧.其中包括:输入语句,输出语句,数组,分支结构,循环结构.希望广大C语言 ...

  6. Java面试题:在一个递增的数组里面,找出任意两个数的和等于100,编写程序输出这些数对,可以假设数组中不存在重复元素

    本文使用两种算法来实现,分别是二分查找法和插值查找法,发现插值查找法更好,更快地找到需要的数据. 代码如下: package com.moson.search;import java.util.Arr ...

  7. 用C语言程序算交税,用C语言编写函数InComeTax计算七级累进税率的税后收入

    新的个人所得税对工资收入采用七级累进税率,税率如下: 已知一个人扣除社保公积金后的收入,请用C语言编写函数InComeTax计算税后收入. 全月应纳税额不超过1500元 ----3% 全月应纳税额超过 ...

  8. c语言输出字母abcd,有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下:...

    有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下: 答案:6  信息版本:手机版 解决时间 2019-10-06 21:36 已解决 2019-10-06 01:51 1.包 ...

  9. C语言试题六十八之请编写函数实现亲密数

    1. 题目 编写函数:求一个整数范围数字以内的全部亲密数. 亲密数:如果整数A的全部因子(包括1,不包括A本身)之和等于B:且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密 ...

最新文章

  1. django性能优化缓存view详解
  2. java calendar赋值_Java常用日期操作
  3. 程序员啊程序员...济南昊锐科技
  4. 机器学习(课程笔记4)——逼近参数算法牛顿方法;
  5. linux路由内核实现分析(二)---FIB相关数据结构(2)
  6. 大数据分析双剑合璧:Apache Kylin 和 Superset
  7. avd android 5.1,Kotlin开发进阶
  8. PCB原理图绘制(1)——工程文件的建立
  9. HTML5+css+JS实现LOL官网动态页面DW、vscode页眉加轮播图
  10. 多变量时间序列相似度量
  11. linux之服务管理
  12. 爱荷华州立大学计算机专业,爱荷华州立大学|Iowa State University|Department of Electrical and Computer Engineering_毕达留学...
  13. Excel妙用-公式结果我都要
  14. 12.pandas 读取与写入文件
  15. 如何自动识别文字并提取?这三个方法教你搞定识别文字
  16. 汇编基础练习题1:将AX中的数显示输出。
  17. 《扫黑风暴》全网爆火!用Python具体分析一下它怎么火起来的?你喜欢看吗?
  18. 架设游戏的服务器系统,架设游戏服务器需要备案吗
  19. 平面设计中的网格系统_干货 | 手把手教你做#响应式设计# 还有标准栅格系统库分享!...
  20. WIN10建立映射网络驱动器报错:你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问

热门文章

  1. 视频融合应用没听说过?
  2. keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...
  3. 迈道科技双重预防系统入选《2021年中国石油和化工企业500强发布会化工科技成果汇编》
  4. 一款非常经典的蓝牙多媒体芯片​RDA5850
  5. Chrome如何使用
  6. 湖南省第十届蓝狐网络杯大学生计算机程序设计竞赛,2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解...
  7. java 类加载器的理解及加载机制?
  8. C程序设计 谭浩强 第九章
  9. Kubernetes 1.14 发布,31 项功能增强
  10. 怎么做国外问卷调查站点查