编写一个C++程序来检查完美数,并附带一个示例。任何数都可以是完美的,如果它的所有因子(不包括数字本身)之和等于该数字。例如,6可以被1、2、3整除(不包括6),1+2+3=6。因此,6是一个完美数。
在此C++完美数示例中,我们使用for循环(for(i = 1 ; i < number ; i++))从1迭代到number。我们使用if条件(if(number % i == 0))来检查数字是否能被循环值整除且余数为0。如果为真,则将该值加到总和中。最后,我们使用If条件(if(number == sum))来检查数字是否等于总和,并打印结果。
#include<iostream>
using namespace std;
int main()
{
int number, i, sum = 0;
cout << "Please Enter the Number to check for Perfect = ";
cin >> number;
for(i = 1 ; i < number ; i++)
{
if(number % i == 0)
{
sum = sum + i;
}
}
if(number == sum)
{
cout << number << " is a Perfect Number";
}
else
{
cout << number << " is Not a Perfect Number";
}
return 0;
}

使用while循环检查完美数的C++程序
#include<iostream>
using namespace std;
int main()
{
int number, i = 1, sum = 0;
cout << "Please Enter the Number to check for Perfect = ";
cin >> number;
while( i < number )
{
if(number % i == 0)
{
sum = sum + i;
}
i++;
}
if(number == sum)
{
cout << number << " is a Perfect Number";
}
else
{
cout << number << " is Not a Perfect Number";
}
return 0;
}
Please Enter the Number to check for Perfect = 496
496 is a Perfect Number
C++程序打印1到N之间的完美数
此程序完美数示例允许用户输入最小值和最大值。然后,它打印最小和最大值之间的完美数。
#include<iostream>
using namespace std;
int main()
{
int minimum, maximum, number, i, sum;
cout << "Enter Minimum and Maximum to find Perfect Numebrs = ";
cin >> minimum >> maximum;
cout << "\nPerfect Numbers Between " << minimum << " and " << maximum << " = ";
for(number = minimum; number <= maximum; number++)
{
for(i = 1, sum = 0; i < number ; i++)
{
if(number % i == 0)
{
sum = sum + i;
}
}
if(number == sum)
{
cout << number << " ";
}
}
return 0;
}
Enter Minimum and Maximum to find Perfect Numebrs =
1
1000
Perfect Numbers Between 1 and 1000 = 6 28 496