|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
0 G4 m, r: t/ G( x
$ D! Z/ Q% Q/ |- ]. |- p6 j( P放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
% @$ f$ U- l N, k% O6 O% {i=0
9 }0 D/ x; a! Y* w! k$ G1 J9 |" h9 S, n- \9 ^
b=0
, S0 {6 Z' l2 N- b+ ?* W/ r, m' z! b7 f v1 J6 j% r
while b!=3:
1 o- X- n) x& I6 `2 z7 ]7 H a=i*5+1 #设最开始有这么多的苹果
. W! Z2 o# x5 {/ R; V c=a #赋值给需要传出的变量
Y; T! e3 y- j2 i2 @9 D3 m; m% j if a%5==1 : #如果能平均分5份苹果还剩下一个
7 x5 A. O0 b! ?) \: F a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果4 e! a$ E: a+ ]/ W
b=1, l# j+ P3 {( N/ k+ `( i" J4 R; b
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
( L6 }( ]4 O/ |6 Y a=a-int(a/5)-1 #以下依次类推
/ N2 G. O, c) C2 Q% ~5 Q. p b=26 x* p7 B' ^$ @0 A* T
if a%5==1 :( Z- u: w+ X! L2 Z. T6 ~
a=a-int(a/5)-1/ z: q! z% R/ F3 z2 Q6 V
b=30 D0 m5 m1 e" J7 d& H( O2 P8 E6 d
if a%5==1 :
, F% m. E! {7 t a=a-int(a/5)-1
9 U7 d1 K& B' Q b=4: z# m6 _/ D. ]+ b
if a%5==1 :: e4 N! ]; I7 U M' K$ e
#a=a-int(a/5)-12 @- C/ o% Z8 k" G( o8 }
b=5 #当第五个人可以正常分苹果时跳出循环6 x2 D! G% j9 n8 ~$ L K
8 w) B; D2 U( p+ ^: Y2 \; r
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
$ D* R+ A) O- k+ e9 I/ y i=i+1
+ \7 S7 I7 G. f1 Z/ u4 d) P) o( h: x9 H8 r/ `* I! w, n5 g
, x1 i- u' i" R4 J Jprint("最少需要"+str(c)+"个苹果")- }1 l7 \- z# W
# _# O: a* o! C
- s9 m8 }/ `% K+ v
6 W* ?( P( v3 s, u/ Y" w论坛代码为什么放不到代码框里??4 X" L* n9 _& z" ?* H1 u) |( m
* x! M( Y; W7 l0 P' p( j* R
这么巧合吗?刚好是5的5次方减4
4 i# X# Z4 m4 W# T$ Z+ p0 M
" G7 C6 {' [. k) H; O/ r5 d; x
要减去的4是固定的,也就是5份的1,不是5个人的1) E j2 I8 N6 C! J
在while b!=5 的位置分别设置4 3 2可以用计算器试一下
+ U) Q o u, l. D y* P( E {(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?1 Y- }) l* h; B' Q
1 j1 D" C( X' w
. f$ x0 V! q' Y: W0 [* G# E; h$ _
0 p1 B+ K' Y( i- B! u* ]; Z/ [ |
-
|