我的代码:
//
// main.cpp
// do_while_test
//
// Created by dakai_taozi on 2020/8/8.
// Copyright © 2020 dakai_taozi. All rights reserved.
//
#include <iostream>
#include<math.h>
using namespace std;
int main(){
int num = 100,num_3;
do{
num_3 = pow(num/100,3)+pow((num/10)%10,3)+pow((num%100)%10,3);
// cout<<num/100<<";"<<(num/10)%10<<";"<<(num%100)%10<<endl;
// cout<<pow(num/100,3)<<";"<<pow((num/10)%10,3)<<";"<<pow((num%100)%10,3)<<endl;
// cout<<"数字为:"<<num<<",三次幂之和为:"<<num_3<<endl;
if (num_3==num){
cout<<"发现一个水仙花数:"<<num<<endl;
}
num++;
}while(num<1000);
}
我这里获取各个位子上的数字写得有点复杂了,简化如下:
- 获取个位:num%10 (主要是这个)
- 获取十位:(num/10)%10
- 获取百位:num/10