c++,编写程序输出所有水仙花数
输出所有的“水仙花数”,所谓“水仙花 ”是指一个3位数,其各位数字之和等于该数本身,例如,153是一水仙花数,因为153=1^3+5^3+3^3
对于这个有两个方法
方法一:
#include <iostream> using namespace std; main(){ int ge,shi,bai,number; for(number=100;number<1000;number++){ bai=number/100; //根据题目定义分别取出百,十,个,三位的数字 shi=(number%100)/10; //number%100取得两位数即十位和个位的结合,在除以10,则得到十位上的数字 ge=number%10; if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) cout<<number<<endl; } }
方法二:
第一种方法是对目标数三位数进行处理,第二种则是反向思维,直接使用单个数,让单个数的组合达到题目的要求。
#include <iostream> using namespace std; main(){ int i,j,k; for(i=1;i<10;i++) for(j=0;j<10;j++) for(k=0;k<10;k++) if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k))) cout<<i<<j<<k<<endl; }
下一篇:
文本进度条多种动态攻略——Python