记录新手小白学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;
}