数学建模社区-数学中国
标题:
谭浩强书上的课后习题水仙花数,求解
[打印本页]
作者:
kill2345
时间:
2013-8-10 11:42
标题:
谭浩强书上的课后习题水仙花数,求解
本帖最后由 kill2345 于 2013-8-10 12:00 编辑
* s1 d8 l6 {- ^2 d; e- \1 m' T
9 G. V* w( D; O4 J
自学c,正在看谭浩强的《C程序设计》,遇到一个题不会,请教
8 `7 O3 [6 e1 ~! p( D l7 \9 g: H
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为
) p* M2 f8 Q# Y5 {
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>
( f% ^' }/ p: N- f8 u% X% x2 W# Q
int pow(int x,int y)
3 E2 z% M$ O$ S# l/ _% }5 b) a
{
c8 |: ^ _9 E' Q; A+ O) e$ ?
int num=1,i;
, f: T. D- Y. w
for(i=0;i<y;i++)
& ?7 j* Y8 F$ M5 S
{
% c& o( c+ r3 _+ h B1 k3 N
num *= x;
1 h) Z4 {8 }1 z2 `1 j8 |# ?
}
# l, R3 t/ r& M6 U
return num;
* N$ j0 _' v0 T$ H& k
}
6 f2 X$ X! @- L3 L2 m, P; J
void main()
& Q0 B$ \& n$ _& Z! Y/ C* L
{
2 {4 ^% j$ l( T
int num,temp,i,count=1,number;
6 q# L7 E- }& |7 r$ V2 c' _' E
int temp1;
# e- B) Q) F# e
scanf("%d",&num);
, E6 {$ [3 j5 Z/ U- i$ X
number = num;
) U& B3 n v% N/ K3 U/ Z5 L
for(i = 10 ; num/i ; i*=10)//记录一下num的位数
+ X7 R7 G; y5 F
{count++;}
6 l4 d; \+ c$ a0 b
//将number所有位数分离
" Q& M+ y% C6 G
temp = pow(num%10,count);
% y0 `7 H4 \* V# R: w4 W% P! B0 z
for(i = count -1 ; i>0 ; i-- )
; A) ?; W6 c ]8 H, a
{
. M9 n2 R" Y( |4 b `5 e
temp1 = num / pow(10,i);
, ~/ A' o8 V+ `* k" n2 t
temp += pow(temp1,count);
* I k7 S. e7 {) `: n
num = num - pow(10,i)* (num / pow(10,i));
& C: e2 x; B% P, `9 ~
}
2 s/ q, E6 H$ z; ^
if(temp == number)
5 ]' @3 t6 ^- i- [
printf("yes");
5 F9 \( W$ M8 j* Z; p6 b$ A% J3 Q
else
3 o& j+ }! y9 f- c
printf("no");
. b. A# _8 u5 {% H1 G! B
}
复制代码
作者:
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
2 C' s7 C/ x4 @* [
撒旦发射点发速度发生的发打算
& J: Q) Q8 s+ b
难道楼上是来灌水的吗?
作者:
仰望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)
: x" }2 d. r' F% h" i
发表回复();
作者:
jack_lvzheng
时间:
2013-11-3 10:17
while(1)
! P7 O" K1 L5 f
发表回复();
作者:
lvzh2
时间:
2014-1-20 10:05
网上都有源码的。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5