python找水仙花数_python寻找水仙花数

print

(

"

寻找水仙花数

"

)

#

题目:打印出所有的

"

水仙花数

"

,所谓

"

水仙花数

"

是指一个三位数,其各位数字立方和等于该数本

身。

#

例如:

153

是一个

"

水仙花数

"

,因为

153=1^3

5^3

3^3

#

程序分析:利用

for

循环控制

100-999

个数,每个数分解出个位,十位,百位。

#

其实两位数以上的数都可能存在梅花数。

doIt

= True

while

doIt

:

w

=

int

(

input

(

"

你想在几位数中寻找水仙花数?

"

))

s

=

[]

sum

=

0

total

=

0

for

n

in

range

(

10

**

(

w

-

1

),

10

**

w

)

:

for

i

in

range

(

1

,

w

+

1

)

:

p

=

int

(

n

/

(

10

**

(

i

-

1

))

%

10

)

sum

+=

p

**

w

if

sum

==

n

:

print

(

"

水仙花数:

"

,

n

)

total

+=

1

sum

=

0

print

(

"

%d

位数中共发现了

%d

个水仙花数。

"

%

(

w

,

total

))

if

input

(

"

还要继续寻找吗?(

y/n

:"

)

==

"n"

:

doIt

= False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值