黑马程序员技术交流社区
标题:
关于水仙花数这问题
[打印本页]
作者:
zf921103
时间:
2015-8-3 23:14
标题:
关于水仙花数这问题
哪位大大知道水仙花数这题目是什么意思啊 我有点看不懂题目的意思
作者:
刘彦麟
时间:
2015-8-3 23:19
个位数的三次方+十位数的三次方+百位数的三次方==这个三位数
作者:
fersh
时间:
2015-8-4 00:30
#include<stdio.h>
/*
编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身
*/
//第二种算法
void tt(){
int a=100,x,y,z;
while (a>=100&&a<=999){
x=a/100;
y=(a%100)/10;
z=a%10;
if(a==x*x*x+y*y*y+z*z*z) printf("这是第二种算法的结果:%d\n",a);
a++;
}
}int main(){
//第二种算法
int a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf("这是第一种算法的结果:%d%d%d\n",a,b,c);
printf("\n\n");
tt();
return 0; }
作者:
刘唐飞
时间:
2015-8-4 02:58
我觉得那些运算的 最好放一放 多学 oc
作者:
魔尊
时间:
2015-8-4 13:41
百度一下就可以了,比较好好理解
作者:
DUKEMAN
时间:
2015-8-4 15:50
fersh 发表于 2015-8-4 00:30
#include
/*
编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身 ...
第二种算法 很精简 {:3_53:}
作者:
闪闪红星向太阳
时间:
2015-8-4 20:42
水仙花数就是100~999之间(包括100和999)所有的数字,如果该数的 “百位数的三次方+十位数的三次方+个位数的三次方 = 该数本身×3”,该数字即为水仙花数
给你贴上我的代码你一看就懂了
//利用for循环遍历100~999之间的所有数
for (int i = 100; i <= 999; i++) {
//给你提供一个函数:pow(a,b)就表示数字a的b次方
//i/100表示求该三位数的百位数,i%100/10表示该三位数的十位数,i%10表示该百位数的个位数
// if (pow(i/100, 3) + pow(i/10, 3) + pow(i%10, 3) == i ) {
// printf("该数是水仙花数%d\n",i);
// }
// }
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2