C++第10周项目4参考——完数
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目4:输出完数】(课本p86第20题)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。编程找出1000以内的所有完数。
提示:首先从2到1000构造循环控制变量为i的外层循环。每次循环中,利用内嵌的循环逐个地求出i的因子,并累加起来(为提高效率,可能的因子从1到i/2),如果因子和等于i,则说明是完全数,输出。然后继续循环,考察i+1……
说明:有些解答,如平台上提供的《c++程序设计经典例题》中用了数组。本题并不是非用数组才能做。类似题目还有关于水仙花数、回文数等,有精力可以自己玩玩。
#include <iostream>
#include<Cmath>
using namespace std;
int main( )
{int i,s,j;cout<<"2-1000之间的完数有:";for(i=2;i<=1000;i++){s=1; //1是任何数的因子,所以不再s=1,也使下一句可以从2开始for(j=2;j<sqrt(i);j++) //正因为j从2开始,才有胆量让j到sqrt(i)if(i%j==0) s+=(j+i/j); //加上j的同时,和j对称的那个因子(i/j)也被累加了//思考:如果j允许从1开始,上式会将i本身也累加上去if(i==s) cout<<i<<" ";}cout<<endl;return 0;
}
运行结果:
另解:下面的程序也可以求解,考虑了效率,但不够彻底。
#include <iostream>
using namespace std;
int main( )
{int i,s,j;cout<<"2-1000之间的完数有:";for(i=2;i<=1000;i++){s=1; for(j=2;j<=i/2;j++) if(i%j==0) s+=j; if(i==s) cout<<i<<" ";}cout<<endl;return 0;
}
转载于:https://www.cnblogs.com/hehe520/archive/2012/10/31/6142648.html
C++第10周项目4参考——完数相关推荐
- C++第10周项目2扩展之2参考——迭代求和
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目2扩展之2(选做)]计算下面的式子,不能使用求幂函数pow() 式一 ...
- 2014秋C++第8周项目5参考-定期存款利息计算器
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/a ...
- 数据结构上机实践第10周项目1 - 二叉树算法验证
二叉树算法验证 本次实践主要是对于二叉树算法的验证,达成对于算法熟练掌握的目的. 实践所用的二叉树算法库点击此处可以参考(编译环境:VC++6.0) 一.层次遍历算法验证 验证具体要求如下: 实现二叉 ...
- 第10周项目6-贪财的富翁
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014年 1 ...
- C++第9周项目5参考——求一元二次方程的根
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目5:求一元二次方程的根]输入一元二次方程ax2+bx+c=0的各项系 ...
- 第10周项目1:程序填充与阅读(1)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Annpion.cpp *作者:王耀鹏 *完成日期:2014年10月31日 * ...
- 第10周项目 2.2 传字条
/* * copyright (c) 2014 , 烟台大学计算机学院 * all rights reserved . * 文件名称 : texts ...
- 第10周项目2 传字条
/* * copyright (c) 2014 , 烟台大学计算机学院 * all rights reserved . * 文件名称 : texts ...
- 第10周项目实践 线索二叉树的建立及遍历
typedef struct node { Elemtype date; int ltag,rtag; struct node lchild; struct node ...
最新文章
- php企业网站源码安装教程,PHPSCUP企业建站系统v1.4 安装图文教程
- Spring Cloud Config对特殊字符加密的处理
- LSTM拟合正弦曲线代码(转载)
- HarmonyOS之AI能力·图像超分辨率
- 解决配置Ubuntu中vnc远程显示灰屏
- tgp饥荒服务器mod文件在哪,饥荒联机版中客户端mod文件夹在哪?注意不是服务器mod!...
- centos 下使用sublime
- JMetro版本8.6.11和11.6.11已发布
- 阿里云服务器内核编译升级
- java实现arp断网攻击,可攻击局域网内所有的主机
- win10开移动热点让手机使用上网
- 利用XML实现通用WEB报表打印(参考)
- python获取文件名中两条下划线之间的部分_Python 中的特殊双下划线方法
- 你好2019,我是全新的CPDA数据分析师课程
- spring-boot集成kafka(包含zookeeper和kafka的下载介绍)
- 链表在java中的应用_Java链表
- 20款电脑码字软件,网络作家实用软件珍藏,首推橙瓜码字
- 计算机基础:13、计算机CPU--运算器
- 全球及中国DIN 2353压缩配件行业研究及十四五规划分析报告
- 图像锐化(增强)和边缘检测