for循环
#include <iostream>
using namespace std;
// 水仙花数是指一个 3 数,它的每个位上的数字的 3次幂之和等于它本身
// 利用do...while 语句 求出所有3位数中的水仙花数
// 在100到999之间找到,所有 3次幂之和等于它本身 的数
int main()
{
int num;
int index = 0; //循环次数
for (num = 100; num <= 999; num++)
{
//num的百位数
int n = num / 100;
//num的十位数
int u = num % 100 / 10;
//num的个位数
int m = num % 100 % 10;
int nnn = pow(n, 3);
int uuu = pow(u, 3);
int mmm = pow(m, 3);
index++;
if (nnn + uuu + mmm == num)
{
cout << "第" << index << "次" << endl;
cout << "水仙花数:" << num << endl;
}
}
system("pause");
return 0;
}
do-while循环
#include <iostream>
using namespace std;
// 水仙花数是指一个 3 数,它的每个位上的数字的 3次幂之和等于它本身
// 利用do...while 语句 求出所有3位数中的水仙花数
// 在100到999之间找到,所有 3次幂之和等于它本身 的数
int main()
{
int num = 100;
int index = 0; //循环次数
do{
//num的百位数
int n = num / 100;
//num的十位数
int u = num % 100 / 10;
//num的个位数
int m = num % 100 % 10;
int nnn = pow(n, 3);
int uuu = pow(u, 3);
int mmm = pow(m, 3);
index++;
if (nnn + uuu + mmm == num)
{
cout << "第" << index << "次" << endl;
cout << "水仙花数:" << num << endl;
}
num++;
}
while (num <= 999);
system("pause");
return 0;
}
输出:
第54次
水仙花数:153
第271次
水仙花数:370
第272次
水仙花数:371
第308次
水仙花数:407
请按任意键继续. . .