|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
% S' v6 F$ f/ a* t: a: j
7 Q/ ?% ]* N& B8 R" ^* L" ^放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
: `/ G7 B8 w0 P0 a, r6 Gi=0
+ `4 ?% ?9 ~" h0 j4 s9 a8 ]- \1 C9 G4 P9 u7 \
b=0
4 x# r: @; V; b1 M: I
7 A) ]; M0 P$ }* t$ h4 y3 Xwhile b!=3:
) @+ B4 _5 b% @1 y: C1 q a=i*5+1 #设最开始有这么多的苹果% r( d# e9 a, f: a s
c=a #赋值给需要传出的变量
% C: \9 {4 j+ ?' b' R/ r) p if a%5==1 : #如果能平均分5份苹果还剩下一个) k. A" A+ A* I. s$ k
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果+ }; f9 F$ @9 u5 Y, n- }
b=1
( o5 Y: f6 k9 | d: C0 t if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
1 B7 v* s( a) A6 Y8 V3 V1 V a=a-int(a/5)-1 #以下依次类推
' }9 o" C8 ?' a1 A1 [8 r b=2
0 T% ]0 F% `+ p+ j if a%5==1 :6 _0 q1 @7 Q# c, G1 u, A5 M
a=a-int(a/5)-1
& |+ ]7 I+ N% ^ b=3
( n Y! `6 }' d/ B if a%5==1 :
/ x. A/ V) A8 u7 d0 A6 A4 H a=a-int(a/5)-1& g9 b$ I( c5 `
b=4
: u. f7 q0 g, I1 ^4 `3 I! l if a%5==1 :
8 S/ ^0 h6 W8 |3 Q& T; Y* V, u8 \ #a=a-int(a/5)-1
6 G# X& j& o3 i! H& E$ W7 V b=5 #当第五个人可以正常分苹果时跳出循环
1 u. Q* S! r1 ?4 M
5 F# J1 V" b& d" v5 G print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))4 S# X! {/ b7 r _7 \, u! q3 H
i=i+1* ?5 i, e( Z9 a$ h! ?
5 y( }4 o) E. x6 }
- U' p- |& M8 z4 A3 ^! i6 tprint("最少需要"+str(c)+"个苹果")
" A5 s9 F) k. R0 H: H$ m& J# k' c3 c/ k9 O9 T1 `
# e# S- q, v$ G9 n) I
H$ ^0 S0 M& M, s& x论坛代码为什么放不到代码框里??6 a: N9 r/ J* J" s; P
! N: v) y9 |7 A- R" I# W
这么巧合吗?刚好是5的5次方减4
' Q+ h6 Y( W% }# c1 i
9 ]' J. l: X9 X4 M' Y; e" Z4 A要减去的4是固定的,也就是5份的1,不是5个人的1
/ C/ Q0 C4 @1 H+ T在while b!=5 的位置分别设置4 3 2可以用计算器试一下% X: V0 g$ z6 C( s
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?3 W9 | ^. j1 ?& T
: x Z& U* L2 E: W$ K0 a+ l
4 d! Z) A/ k+ H: I+ ?% S# e( K! P& f. |' Q: {3 q8 }
|
-
|