|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
7 P. j- p9 w1 P* t, I+ g
! x0 S8 Y' y3 ]/ y6 C' Z- y放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
& j" M3 A4 m. h8 o8 ^/ s& u
i=0: Q, M8 T3 N; l
7 `# m" W0 a) J" S6 W2 M: ob=0
$ B4 |% a3 Z9 k% x- i- C; x7 ~" R, w1 p. U4 C
while b!=3:
' X) d4 B6 n( x% R; P4 [ a=i*5+1 #设最开始有这么多的苹果& e5 F- P" x: O! c
c=a #赋值给需要传出的变量
, `; W4 U5 L. f if a%5==1 : #如果能平均分5份苹果还剩下一个
; F) q3 n' o* g$ w6 \5 [ a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果3 W) Z. ?3 V0 p" N" ^ G; O
b=1/ n9 c+ z1 e0 _' v
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个4 N: j8 ~+ ]) a( `3 k
a=a-int(a/5)-1 #以下依次类推0 w( W/ G5 |$ `
b=2
4 c9 _. W! Q* M3 `6 g3 S if a%5==1 :
6 e1 O9 z9 N1 N) R% \ a=a-int(a/5)-1
- Y# L5 v6 j* _5 t+ I* k. Z b=3
# t- l2 J ^& | if a%5==1 :
6 n8 V# Z' u. n6 d* a& t a=a-int(a/5)-16 E( l" f- z1 e. G
b=4" x6 |* W8 z3 x# D8 j3 i
if a%5==1 :
$ ?2 D& x, H) L- _6 m #a=a-int(a/5)-19 |6 y4 ? x. p. O
b=5 #当第五个人可以正常分苹果时跳出循环1 @- i6 y, c$ G. m, g
: S! E, G" Y+ _) e. J
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
8 o# K. U; @, S2 q( D i=i+15 k0 ^& }' f) k$ s
$ b! r2 w; h) Y) s5 q1 H
' l; [* H+ e) D" P( g$ M6 I
print("最少需要"+str(c)+"个苹果")
3 v4 d/ l, B2 U) |& t9 I9 ?. E7 F, P
, D; j- n6 u- ]8 ^2 I2 g' K `; t' N/ j$ j) X
论坛代码为什么放不到代码框里??$ v6 c: e, { b( ]% O
6 ` K9 {8 q, e% u2 z
这么巧合吗?刚好是5的5次方减4
! S2 J1 n% v: q0 T
0 z" |+ D- u7 `) [要减去的4是固定的,也就是5份的1,不是5个人的1
- p; x) X3 _4 k( a) k! A8 e在while b!=5 的位置分别设置4 3 2可以用计算器试一下
; T3 K Z# H. ~4 m" a$ ~6 f7 c: a9 M(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?% m* g9 y% T* X. J
8 A: u0 A& ^2 N0 a0 y
, i! E5 R$ g$ d i6 u0 `
/ j( v6 `$ F4 W0 N5 r) \5 G2 Q |
-
|