数学建模社区-数学中国
标题:
谭浩强书上的课后习题水仙花数,求解
[打印本页]
作者:
kill2345
时间:
2013-8-10 11:42
标题:
谭浩强书上的课后习题水仙花数,求解
本帖最后由 kill2345 于 2013-8-10 12:00 编辑
# j! S6 C! t3 C, C# N
5 d6 K: D5 r; E3 H
自学c,正在看谭浩强的《C程序设计》,遇到一个题不会,请教
2 G3 S$ w5 _4 j+ \: J
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为
( C+ o1 f% c9 [3 _
153=1[sup]3[/sup]+5[sup]3[/sup]+3[sup]3[/sup]。
作者:
wangzheng3056
时间:
2013-8-10 11:59
赶快上来抢点体力!
作者:
wangzheng3056
时间:
2013-8-10 12:00
楼主试试, 你可以任意输入n个数,只要不超出int型的范围就行了
#include<stdio.h>
6 s2 O( C$ G: [- d8 m7 o! w. T
int pow(int x,int y)
1 P4 c3 h4 k4 N* M
{
6 z0 p7 M& E- Z* B
int num=1,i;
% _% N# |2 _3 B! B% L5 h5 I8 V
for(i=0;i<y;i++)
# N# U3 V% f B6 B- f& X
{
6 t: t. a7 ?9 b
num *= x;
, I- u w n D6 f2 _. h
}
2 N6 r. D+ Y3 ^
return num;
. Q3 Y6 a. [) d8 u
}
' h& U w+ r7 }
void main()
! `* k; ]* w% ^, Q7 p
{
. j7 ^1 i0 y9 u' e9 J
int num,temp,i,count=1,number;
0 U6 ]9 H u7 q% q6 O6 p
int temp1;
0 V3 I1 N' ~( c; J' R3 w2 F
scanf("%d",&num);
. ?" {, b, \' Y1 E: H: H" U
number = num;
; ~* }5 y2 a/ Y) k4 z
for(i = 10 ; num/i ; i*=10)//记录一下num的位数
) l/ r4 a0 A% C8 |! p% Z( T7 Q
{count++;}
" u# P4 ?1 e1 I! q) R6 y; H
//将number所有位数分离
6 v1 z9 o+ D1 \" b0 N% `+ b
temp = pow(num%10,count);
% w: h) I+ C; j$ @+ y0 T j6 d6 g. _+ x
for(i = count -1 ; i>0 ; i-- )
K$ ]2 m; N/ H, |: _
{
9 @3 h9 z5 w3 P# b& K/ _5 c6 z. k
temp1 = num / pow(10,i);
3 c8 Y0 \; J& x, T( p( L% G" T% |6 h
temp += pow(temp1,count);
; D/ k4 {/ r6 F; ~" U; p
num = num - pow(10,i)* (num / pow(10,i));
4 s) ? [ o$ c
}
( S9 a+ |; J7 W' @8 e$ n
if(temp == number)
4 N3 y9 X9 k% v& ^/ f) X1 s' V1 n
printf("yes");
% \' h6 v( G) b& o1 t v" t, G
else
2 p8 W% w7 ?' ]/ E4 S1 S
printf("no");
1 ~7 s' A& }' ?! F! H
}
复制代码
作者:
wangzheng3056
时间:
2013-8-10 12:01
太高兴了,总算有人进来问问题了
作者:
wangzheng3056
时间:
2013-8-10 12:01
刷屏程序开始
作者:
wangzheng3056
时间:
2013-8-10 12:02
刷频,刷频,刷屏
作者:
magic2728
时间:
2013-8-10 17:29
三层循环,三个数位分别从0~9,注意排除非三位数情况,验证结果是否符合就行了。楼主自己敲一下代码吧,只有亲自动手才能发现问题的细节处,精妙处,加油!有不懂的欢迎再来提问!
作者:
ゞ★人才涛涛
时间:
2013-8-11 20:22
楼主要问的是什么
作者:
ゞ★人才涛涛
时间:
2013-8-11 20:22
撒旦发射点发速度发生的发打算
作者:
kill2345
时间:
2013-8-12 10:17
ゞ★人才涛涛 发表于 2013-8-11 20:22
% i8 c4 g9 g! h0 I! E+ M9 j
撒旦发射点发速度发生的发打算
9 o2 u6 E( B, M7 r% J
难道楼上是来灌水的吗?
作者:
仰望0712
时间:
2013-8-12 16:51
#include<stdio.h>void main(){ int i,j,k,n; for(i=1;i<10;i++) for(j=0;j<10;j++) for(k=0;k<10;k++) { n=i*100+j*10+k; if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k))) printf("水仙花数为:%d\n",n); }}
作者:
Summershumo
时间:
2013-8-15 16:55
顶一下,,,,,,,,,,,,
作者:
jack_lvzheng
时间:
2013-11-3 10:16
while(1)
2 v2 i8 m, z8 C& w
发表回复();
作者:
jack_lvzheng
时间:
2013-11-3 10:17
while(1)
& z- m! |/ A9 M" h
发表回复();
作者:
lvzh2
时间:
2014-1-20 10:05
网上都有源码的。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5