数学建模社区-数学中国
标题:
谭浩强书上的课后习题水仙花数,求解
[打印本页]
作者:
kill2345
时间:
2013-8-10 11:42
标题:
谭浩强书上的课后习题水仙花数,求解
本帖最后由 kill2345 于 2013-8-10 12:00 编辑
9 V* Y# v5 Q+ ?, P L- k
1 C% `0 b i# f9 B4 I' Q1 x
自学c,正在看谭浩强的《C程序设计》,遇到一个题不会,请教
4 x" W+ ?, Y( j: [8 @0 v0 }& `+ A: j
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为
% _: F% v0 w* j( ]2 p
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>
, ]2 Z! P0 X, C
int pow(int x,int y)
1 y: E, y% g( }, I* J' {
{
8 {/ D" G7 a+ _/ \( W$ I. |, D
int num=1,i;
4 R' N" s& W6 l3 x; E
for(i=0;i<y;i++)
0 P; h! k% e5 S( h+ ]( z3 Q# u3 [
{
2 b% `% \2 L* ?4 _0 r# j" ?
num *= x;
5 j/ c9 P9 |) I- a5 I0 |
}
0 y: G! ?( m# K) b
return num;
# x$ H7 h2 R. Y$ g- t# ]4 X/ ]
}
$ j) r4 `5 W4 H* N, [& t( x
void main()
& W. d; `! K5 |( f; e* e
{
' A! \/ a3 _7 e3 R3 z
int num,temp,i,count=1,number;
. v1 l- a8 V: g. ^+ s
int temp1;
! k; l( S2 y; t9 Y4 S) K$ J
scanf("%d",&num);
& Y6 q; f# z. ^" N! O$ Y
number = num;
. U3 ~" o( b- T) |7 K, k0 t
for(i = 10 ; num/i ; i*=10)//记录一下num的位数
+ y$ F# z8 T6 k: @" U
{count++;}
$ k# S5 Q, S! k2 N! F0 x- V
//将number所有位数分离
+ E# c# m% |1 S4 X
temp = pow(num%10,count);
1 S/ a5 b6 a& U% H1 C" c
for(i = count -1 ; i>0 ; i-- )
9 |4 N- j- J" G5 r
{
( O1 q+ p% ?# g) z3 N6 w0 | y; B
temp1 = num / pow(10,i);
+ Q+ K( T* J, u S
temp += pow(temp1,count);
7 W5 ` j3 k9 ]& Q/ ?# R
num = num - pow(10,i)* (num / pow(10,i));
' `) {$ C5 R# Y, Z7 L0 _* z9 i( z
}
2 ~5 {4 q( ?# ]5 ^4 v1 ^7 C& B
if(temp == number)
/ E3 k2 z# f2 g4 N2 a! M
printf("yes");
: X4 t- B- a) I w% F' l# d6 X
else
; Y/ W- U/ _; N
printf("no");
5 p1 k, [. G' @3 q4 D7 Q3 i+ X6 c
}
复制代码
作者:
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
; s5 d3 S3 o6 c) W4 h
撒旦发射点发速度发生的发打算
* I' i# O: `$ x/ B, b) J9 ?. {* K
难道楼上是来灌水的吗?
作者:
仰望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)
! y; ? R# ?5 Q
发表回复();
作者:
jack_lvzheng
时间:
2013-11-3 10:17
while(1)
( O3 D, \0 e( Q# C4 x+ P+ t
发表回复();
作者:
lvzh2
时间:
2014-1-20 10:05
网上都有源码的。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5