C++:1000以内的完数

记录新手小白学C++历程:

希望在“is a wanshu "后输出完数的因子

欢迎各位提问或者纠正补充

/*问题:求1000以内的完数
解决思路:
1.什么是完数
完数;一个数除了它本身之外的所有因子之和等于它自身
2.因子是什么
一个数能被另一个数整除   (本身%他的每一个数==0)
所得:一个数的所有因子之和=它本身=完数*/




#include <iostream>//头文件该篇用到输入,输出“流”头文件用iostream
using namespace std;

int main()

{

int  sum,i,j;    //整型int,sum 为统计因子之和,i是变量从1到1000(循环),j是i的因数(循环)

cout<<"1000以内完数有"<<endl;   //cout<<项目一<<项目二<<..<<项目n;项目是表达式时,输出表达式的值,项目加引号,则输出引号内的内容,项目为endl 或\n,则表示换行

for(i=1;1<=1000;i++)    //循环 i初始值从1开始到1000依次寻找完数,执行以下语句

{

sum=0;    //记录和的变量一定要有一个初始值,每个和的变量从0开始

for(j=1;j<i;j++)    //循环 j 因子从1开始,J因子小于i,累加,执行下列语句

{

  if (i%j==0)    //如果i能被j整除  判断j是否为i的因子

  sum+=0;    //则sum累加

}

  if (sum==i)    //如果sum等于i本身,则这个数i是完数

cout<<sum<<" is a wanshu "<<endl;    //cout 输出

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值