用Microsoft visual studio编写程序,打印出所有的三位数水仙花数
时间: 2023-05-26 11:06:03 浏览: 55
水仙花数是指一个n位数( n≥3 ) ,它的每个位上的数字的n次幂之和等于它本身。例如:153是一个水仙花数,因为153=1³+5³+3³。
以下是实现该程序的C++代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
for (int i = 100; i <= 999; ++i)
{
int digit1 = i / 100; // 百位数
int digit2 = (i / 10) % 10; // 十位数
int digit3 = i % 10; // 个位数
int sum = pow(digit1, 3) + pow(digit2, 3) + pow(digit3, 3); // 计算每个位数的立方和
if (sum == i) // 如果等于原数则是水仙花数
{
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
运行结果:
153 370 371 407
这是所有的三位数水仙花数。
相关问题
用Microsoft visual studio编写程序,打印出所有的水仙花数
#include<iostream>
using namespace std;
int main()
{
int i,j,k;//定义三个变量
for(i=1;i<=9;i++)//循环遍历所有三位数
{
for(j=0;j<=9;j++)//循环遍历每一位数
{
for(k=0;k<=9;k++)
{
int num=i*100+j*10+k;//计算每个三位数
if(num==i*i*i+j*j*j+k*k*k)//判断是否为水仙花数
{
cout<<num<<endl;//输出水仙花数
}
}
}
}
return 0;
}
用Microsoft visual studio编写一个程序,任意输入一个三位数,输出此三位数的个位,十位和百位的数字
好的,以下是程序的代码:
#include <iostream>
using namespace std;
int main()
{
int num, digit1, digit2, digit3;
cout << "请输入一个三位数:";
cin >> num;
digit1 = num % 10; // 取个位数
digit2 = num / 10 % 10; // 取十位数
digit3 = num / 100; // 取百位数
cout << "个位数是:" << digit1 << endl;
cout << "十位数是:" << digit2 << endl;
cout << "百位数是:" << digit3 << endl;
return 0;
}
希望能够帮到你!