|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 s% ^& q; h/ z! w
$ ~; N. ?/ A0 v+ J放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
6 P/ k p5 g. D- I" S- S
i=0. p3 f7 h, t, R& `& }
8 c! ?- ^# `7 W H' gb=07 @5 h1 b0 ^# E) f, m0 E3 |
" f/ `7 H8 e6 K# ]- gwhile b!=3:
' M$ l1 q7 Z! W1 h* v$ G+ v7 | a=i*5+1 #设最开始有这么多的苹果
2 z- B: q% P; L$ s, h! A- K c=a #赋值给需要传出的变量* R/ d1 S5 J& a4 y Z, ]
if a%5==1 : #如果能平均分5份苹果还剩下一个
4 m' b, T- P0 H+ V0 v a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
" Y7 ~: {+ G6 x5 Q a# X# O b=12 a% ~2 ]: _; s
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
4 |. q7 X/ [' y! _! s: w a=a-int(a/5)-1 #以下依次类推
% X$ N) W+ r' k { b=2
2 D9 g4 v: b C! w w' N if a%5==1 :0 ?" u; ~$ ?, m1 s S) [' ~0 q# d
a=a-int(a/5)-1- i3 u0 z0 A; e$ b* u. L8 S
b=3: I5 \% a! w1 x. [3 j
if a%5==1 :6 m! u) y' C8 h
a=a-int(a/5)-1# e6 e) B. a" w" G) b2 ]
b=4
7 o4 n" `( W6 Z# |" |- w if a%5==1 :
. z5 q" r+ d- \8 Z- Z9 j #a=a-int(a/5)-1, q' v& c2 U$ j8 a, a
b=5 #当第五个人可以正常分苹果时跳出循环
2 o1 n* c+ K! e8 e
3 l: `2 |7 K" m+ Y8 c2 d print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c)). H+ u( Z8 S$ i9 V
i=i+19 O2 V/ x) Y( U' }" q1 y
2 ^8 ?9 h3 s6 S3 o, T# T
/ a' A& C3 c' l- V+ P5 x% m8 dprint("最少需要"+str(c)+"个苹果")
" V ~+ W$ D: X1 w. J6 G* I* r# \( J: L* g
$ x, P& ]( h' ]' y7 F' o3 n
+ e& c3 e# l% j1 B* A' C6 h
论坛代码为什么放不到代码框里??" q0 \7 Q0 q# B! i& O6 r$ ?
0 m, ~* W6 y% g& A* t/ @
这么巧合吗?刚好是5的5次方减4
' j% D# P9 Z& ~ \/ a% ]3 o: j' v" K3 P% `$ G; _
要减去的4是固定的,也就是5份的1,不是5个人的1
4 q, X- f$ ?9 |4 Z. I在while b!=5 的位置分别设置4 3 2可以用计算器试一下
" q4 H; _( `( @8 t- R( c5 |8 X: G(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?9 P7 c6 b M- j5 i4 D
5 G" m& [. U% y3 d- y/ s# k8 O: B- l
% l# w9 E9 @. k) h2 T7 X; i1 U# j3 z0 ~& h* U5 f; Q
|
-
|