我想找到一个范围内的理想数。 这是我到目前为止所做的。
#include <iostream>
using namespace std;
int main()
{
// cout<<"Hello World";
int sum = 0;
int count = 0;
int x,y;
cout<<"Enter the first number";
cin>> x;
cout<<"Enter the second number";
cin>>y;
for(int i=x;i<=y;i++)
{
for(int j=1; j<i; j++)
{
if(i%j == 0)
{
sum=sum+j;
}
}
if(sum == i)
{
count++;
}
}
cout<<"The number of pefect numbers are: "<<count;
}
但是,当我输入范围时,它告诉我例如1到10范围内可用的理想数的数量为0。
那是为什么?我不知道这是怎么了?
答案 0 :(得分:2)
每次输入都需要输入sum=0
。例如
if(sum == i) {
count++;
}
sum = 0; /* add this line here */
或
for(int i=x;i<=y;i++) {
sum = 0; /* or make sum as 0 here */
for(int j=1; j<i; j++) {
if(i%j == 0) {
sum=sum+j;
}
}
if(sum == i) {
count++;
}
}