|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
& V( ?, m( L, L' { v+ t) M S2 `( v, H. X& t$ L. r1 J
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
, `1 `6 b: P* F+ z5 i3 G, ?8 H) zi=03 w. F& K2 b+ Y1 D- s- ~
& F( x/ `( D3 a# b8 e" k- O
b=0
: [' a/ R5 M Y6 q8 R( b2 k4 l* v
while b!=3:
7 J* V! v5 L( q- h a=i*5+1 #设最开始有这么多的苹果
& `: S: O+ v; e' @# R1 x c=a #赋值给需要传出的变量0 U- k" \! X7 ~- P
if a%5==1 : #如果能平均分5份苹果还剩下一个* x" d" m$ V8 @
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果9 ]: G+ W+ H- C
b=1! D$ m; E" K: b
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个4 n! A+ \. @$ i. W0 l: _7 u9 D
a=a-int(a/5)-1 #以下依次类推
3 q) B) p* d2 d, o' a7 Z3 p b=2
# p. Y% j" e1 @% }5 v if a%5==1 :
2 c( D6 {% e' p* v/ J. d9 p a=a-int(a/5)-1
) e* F, t3 Y! U6 t: E( L- P9 T% T b=3 s3 H3 j }4 t: C
if a%5==1 :' `: L3 O/ R$ l
a=a-int(a/5)-1, z6 \: |/ J6 t
b=4
1 }6 i% ~& z+ |* P if a%5==1 :, ~" i- Z9 T3 W0 Q1 m. _
#a=a-int(a/5)-12 q2 U. [/ p: B; n, { |
b=5 #当第五个人可以正常分苹果时跳出循环
/ I8 Q8 F4 G, V+ H$ t/ E
# J V8 O3 L7 A" X- K" I print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))6 L k( S/ A1 {6 b: X/ ?8 A
i=i+17 u# Q# b6 v* {& C* G+ _, {1 r
! F1 C; i2 G) O% _1 e5 k1 u
5 }2 z. X8 l* N5 Mprint("最少需要"+str(c)+"个苹果"), ?4 ^; `# B r5 x- s0 d
* n W1 o! B: Z6 I9 p0 y6 i$ E" C/ V( ?+ ^+ @9 g
% q5 z8 W7 z) Y& {: A$ o* E论坛代码为什么放不到代码框里??5 c9 J) z6 u+ A1 g& V( ~3 U! [7 `/ D
# w5 q& Z* a# r8 z9 P, P) x
这么巧合吗?刚好是5的5次方减4
w& m8 I) u6 O$ C
1 K- z' m l4 x* b要减去的4是固定的,也就是5份的1,不是5个人的17 A: f2 ~- V2 l' C2 M7 Q: ^
在while b!=5 的位置分别设置4 3 2可以用计算器试一下
+ e! X! p7 B( H1 e; f' c _+ i- V(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?
" w( a% X; J& m* V! C- A
, s, c- Q; r) h- |/ H& L+ r
: g" r6 g3 ?' a' w) g" _% ]5 d) x S/ \% a3 e
|
-
|