|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
, b1 n0 V9 O; M$ I/ w0 V9 j; k2 u' ~8 x2 j% U
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
" ^! E' [0 @& ~4 j$ |% f7 r
i=0
/ v* w- O6 [& U, e3 C) \% ]9 z
# \1 `3 i& }9 P% X3 R0 k$ w q2 ]b=06 T: J6 [0 J8 F, m0 z$ V- A& y. b
) m$ s7 P9 ^- a8 Hwhile b!=3:
5 X2 ?8 [3 d: G3 O' h5 i1 Y a=i*5+1 #设最开始有这么多的苹果) X4 l& d8 J7 b+ V; Z
c=a #赋值给需要传出的变量
3 C; o( E% k( ~8 ?" j6 i2 s if a%5==1 : #如果能平均分5份苹果还剩下一个
1 }$ O0 Y1 y( F: r, e9 R a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果- E/ S0 A+ R# f6 ^
b=1; w0 D8 ^& S* b1 Z; P
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
! w6 f! \3 h" R4 J5 x4 | a=a-int(a/5)-1 #以下依次类推5 A* G* l! |: H: Z
b=25 r) l3 @! g* y; d' B
if a%5==1 :
1 ]( ?" r* f- p! r( ^0 ` a=a-int(a/5)-1
8 X: L' o( k. Q b=3
! a7 q( E! \3 _4 j' E M2 ~0 T if a%5==1 :
6 z$ O2 V. z0 a* s, y a=a-int(a/5)-1* p$ V* l ^# k/ e- v" Y: m5 O3 S: t# T
b=4
& h4 b' X4 H& V! v if a%5==1 :) M7 z: r- h" |1 N; ]) ^, F9 m
#a=a-int(a/5)-1. y8 |0 j0 {3 L5 G4 g
b=5 #当第五个人可以正常分苹果时跳出循环
, ?7 n7 L/ k0 O" Q4 A8 ^1 _2 G0 }& c" U" f* a- k7 q; J
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c)). c, B9 k0 X0 L$ F# \- t! j
i=i+1 o1 X& ^+ h8 Y! f# B
4 z2 T3 {" C+ K) E, R
5 D' G; S' ~4 ~: W4 Jprint("最少需要"+str(c)+"个苹果")' q" ^3 z$ x) \" U( S/ M' }, G$ d
' I0 \1 n$ z" R# M; o, u" E+ W) x4 P" f' r
! [& [+ I+ Z+ u$ E+ G论坛代码为什么放不到代码框里??
1 K. O- W* ~" e+ t& u) N' q: b+ |" o& e O
这么巧合吗?刚好是5的5次方减4
* v! r3 y$ R9 `6 n# d7 X$ t8 m
; o, U c' z6 P/ T+ ]/ x要减去的4是固定的,也就是5份的1,不是5个人的1
: H2 g H% W% M在while b!=5 的位置分别设置4 3 2可以用计算器试一下
- _6 \" D9 t& O1 g(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?4 Z/ |; b0 F: {3 H0 t( Y
5 y" J3 w# H. e. d9 `% L; E. z% i7 K: a2 O( U
. l4 i( U% ~/ K4 u- D* L |
-
|