问题描述:输入两个数,要求输出这两个数之间的完美数(即它的每个因子之和等于其本身,如6=1+2+3)
代码
#include <iostream>
using namespace std;
int main()
{
int i,j,n,num,m,x=0;
do
{
cout<<"请输入两个整数:";
cin>>i>>j;
cout<<"这两个数之间的完美数为:";
for(n=i; n<=j; n++)
{
num=0;
for(m=1; m<n; m++)
if(n%m==0)
num+=m;
if(num==n)
{
cout<<n<<" ";
x++;
}
}
if(x==0)
cout<<"这两个数之间没有完美数";
}
while(i!=0&&j!=0);
return 0;
}
运行结果: