C++小程序编程
- 提问者网友:心如荒岛囚我终老
- 2021-04-22 03:59
- 五星知识达人网友:撞了怀
- 2021-04-22 05:32
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
for (int i = 100; i < 1000; i++) {
int temp = i;
int first = temp % 10;
temp /= 10;
int second = temp % 10;
temp /= 10;
int third = temp % 10;
if (i == first * first * first + second * second * second + third * third * third) {
cout<<i<<endl;
}
}
return EXIT_SUCCESS;
}
- 1楼网友:第四晚心情
- 2021-04-22 08:48
总共有四个:153 370 371 407
我写了段程序,希望是你想要的:
#include<iostream.h> void main() { int n; for(n=100;n<=999;n++) { int x=n/100; int y=(n/10)%10; int z=n%10; if(x*x*x+y*y*y+z*z*z==n) cout<<n<<ends; } cout<<endl; }
- 2楼网友:酒醒三更
- 2021-04-22 07:54
#include<iostram.h>
#include<math.h>
int main()
{
int i;
cout<<"水仙花数:"<<"\n";
for(i=100;i<1000;++i)
{
if(i==(pow(i/100,3)+pow((i%100)/10,3)+pow(i%10,3))
cout<<i<<"\t";
}
return 0;
}
- 3楼网友:归鹤鸣
- 2021-04-22 06:49
水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身. 所以n位数的水仙花数就是将其每一位的n次方相加.看是否等于其本身. 三位的水仙花数共有4个:153,370,371,407;
程序如下:
#include<iostream> using namespace std;
int main() { int bit1,bit2,bit3; for(int i=100;i<1000;++i) { bit1=i/100; //取百位数 bit2=(i/10)%10; //取十位数 bit3=i%10; //取个位数 if(i == bit1*bit1*bit1 + bit2*bit2*bit2 + bit3*bit3*bit3 ) //将各个数的立方相加看是否等于其本身. { cout<<i<<endl; } } return 0; }
附图: