数学建模社区-数学中国
标题:
谭浩强书上的课后习题水仙花数,求解
[打印本页]
作者:
kill2345
时间:
2013-8-10 11:42
标题:
谭浩强书上的课后习题水仙花数,求解
本帖最后由 kill2345 于 2013-8-10 12:00 编辑
0 [6 a2 _/ P$ t3 A
, y) R. R! X! J4 l( F+ _) ^
自学c,正在看谭浩强的《C程序设计》,遇到一个题不会,请教
# y5 B( z8 J+ l% y, o
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为
/ T* b& j* ?. i) ~
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>
* L- \4 b" j& m9 V$ `2 U/ z* x
int pow(int x,int y)
. u6 U6 ~0 @$ `& X' E5 T) E
{
% ]6 p: Y- D, D* W T+ [
int num=1,i;
! k* G, H! E: ^+ x" u* `
for(i=0;i<y;i++)
/ D% @$ n+ l* k- x9 j: e$ s
{
( e3 \0 |$ L0 G7 ]4 ~
num *= x;
( x% J C' O( [2 {3 V
}
8 B. d8 D3 r/ T
return num;
$ x; O# Y9 i3 g: }( Y1 I
}
_* ^# z" a3 B. b
void main()
6 S1 V/ v% y, x3 U6 K
{
/ E) Y' ^ O _- V! t
int num,temp,i,count=1,number;
/ `- T+ ]6 S; j1 {' ]$ Y* [
int temp1;
+ x, H* V F, N* e1 [1 m% w" p
scanf("%d",&num);
. _% H! f- C* t% i+ U3 o
number = num;
- a- |, `; v7 ?$ n. H/ G/ C g
for(i = 10 ; num/i ; i*=10)//记录一下num的位数
- V5 q& i0 l g: b- y
{count++;}
1 |/ |; ~# x8 f$ |
//将number所有位数分离
9 _9 |1 R8 R" o7 l- j1 F
temp = pow(num%10,count);
3 `1 j' D% N" i1 ?8 q; J. k
for(i = count -1 ; i>0 ; i-- )
8 z( L3 m1 j" N
{
5 A9 k2 J) s1 q- N
temp1 = num / pow(10,i);
& t6 c! u! V0 ~- m# e$ G2 j/ n! M
temp += pow(temp1,count);
2 O0 H* M% Z7 V. i8 x* M1 v& J4 w
num = num - pow(10,i)* (num / pow(10,i));
! N; ^# H7 j3 }5 w
}
- e$ Q% s" r2 v2 j
if(temp == number)
4 f+ i1 v& Y: [2 m$ m% |" T# g; y
printf("yes");
4 C7 V$ s: d- L o+ f) z9 L
else
2 C+ g! z# @: c: S# x
printf("no");
5 f" B6 w$ \% L. y# B, I
}
复制代码
作者:
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
9 ?4 z' Y6 e% d; C( s
撒旦发射点发速度发生的发打算
% M: z$ K$ F/ |
难道楼上是来灌水的吗?
作者:
仰望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)
: h# M' J$ d. ~6 H& s* p8 i
发表回复();
作者:
jack_lvzheng
时间:
2013-11-3 10:17
while(1)
, W% |! W& r: r8 d* ? p
发表回复();
作者:
lvzh2
时间:
2014-1-20 10:05
网上都有源码的。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5