|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
. j: h- J; Z/ ?0 f3 M$ l# Q- ~% c3 L+ p; r4 H Q( m
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
5 O# D4 R* M, L" di=0( M. F! o1 ]* Z2 d! X
% U. H- M: g* B/ E
b=0; O, u; N( _. W, D% V
# s( Z9 Q* I: _* g8 u( I+ rwhile b!=3:9 R1 {7 O5 l) [" _! A" K
a=i*5+1 #设最开始有这么多的苹果
$ L2 _' W( x6 B c=a #赋值给需要传出的变量9 R6 u5 H# I% b# z+ w2 T
if a%5==1 : #如果能平均分5份苹果还剩下一个/ `0 ~8 O8 T: P4 Y. h
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
% K% v4 z8 K1 q% r1 u b=1& d' }; U2 f$ v" M2 Z# k
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个; K' I3 n; @. y- r% Y
a=a-int(a/5)-1 #以下依次类推
! r9 \- x! m. V2 S" `* x( V, y b=2
2 V6 O( u. C% v# \0 n if a%5==1 :: O& n+ B0 T: K1 o/ N1 L8 n. z
a=a-int(a/5)-14 i5 z4 J" V* J2 U# K! n" Q
b=3
! m+ ?3 e Y3 t9 d4 @0 F4 c: ^ if a%5==1 :% c/ W! j4 [) ]0 R* X* f
a=a-int(a/5)-1/ P" z) j. m1 w! ]
b=4
1 S4 i/ s$ y( e5 u6 k8 R if a%5==1 :
0 b5 ~' B U$ T #a=a-int(a/5)-1
7 c5 l/ t e9 Z$ i b=5 #当第五个人可以正常分苹果时跳出循环
- K, t- | E k5 x r3 N U- Y% `6 q
/ |! Y, j+ _4 L* i" l. v+ h print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))) X+ w. m* }, ?, O0 X
i=i+1
- I v! {! }; P5 ~4 b- H0 {" U0 ~6 k4 O
) ~2 d7 [" \$ S, @: g9 T/ r3 j; s v% D8 W
print("最少需要"+str(c)+"个苹果")
& o H/ U o v0 F$ Q: `. p8 P) ^- }! z" X r7 @, @# ~
. B w0 k# x `1 O- U" W0 e5 i
5 g! V+ A% ~: T0 J) Y论坛代码为什么放不到代码框里??+ }- G% l4 q: {! |" l# H' v
$ v0 S4 W2 r( X% r
这么巧合吗?刚好是5的5次方减4
* d1 _& G; @' Z! X: H4 Q) ~+ \1 i a0 O/ z5 U
要减去的4是固定的,也就是5份的1,不是5个人的1
8 n, d3 _+ D) c" m* @! T在while b!=5 的位置分别设置4 3 2可以用计算器试一下
7 ]8 O' }' Z. i4 ?3 a+ S2 k& }(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?
: G2 a# i/ {* \9 P: |1 f5 c& N! x, t- b4 `
b6 |3 k- } H1 v. F
4 \* a2 T: N3 n t" | |
-
|