|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 ! k% L: N- K( J1 P' }1 d
" w3 U$ D5 Q9 a ?' Q4 t" t- d
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
3 {" C. u9 W% K( y' v* F( }i=03 G( F8 p6 K( l( C1 p& X
- G9 z7 X2 M8 o. v/ O8 }* Q( Sb=0
9 m- S9 S7 t' b2 D+ t2 Q; x
5 j! b$ u( n: ~* Pwhile b!=3: U! @/ t5 F! @) t
a=i*5+1 #设最开始有这么多的苹果
/ d& b! i3 f/ O3 d c=a #赋值给需要传出的变量
# J' p2 x2 r! u& @4 e# B if a%5==1 : #如果能平均分5份苹果还剩下一个7 c: e4 s& r* G$ F, D
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
. R5 [! P( b' h- i! ]; q T5 \ b=1
4 u; q! e3 u9 c/ B$ _8 W if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
7 k8 r4 Q4 O8 [! v a=a-int(a/5)-1 #以下依次类推$ _8 Y1 g% [: C: I
b=2
# }! b' t5 Z! A- J if a%5==1 :
7 I; ]; j& U6 w( ?$ P& Q a=a-int(a/5)-1
! Q4 q0 S4 q) @/ K% [" E8 n8 O b=3
" _. X( Y; S: _- a l if a%5==1 :; i7 u6 X# @1 _0 J, j8 V$ p
a=a-int(a/5)-1
3 `5 W2 p% p: ~% P7 Z- o- p0 _# K$ Y! g b=4
- t# G a& Q$ |+ G! s3 _( C if a%5==1 :
0 ?1 Z; j& D5 k #a=a-int(a/5)-1: y! p4 W, K( C1 w1 L1 Y `
b=5 #当第五个人可以正常分苹果时跳出循环! T5 X( d; W* B
% D6 ?9 R5 b6 C5 e' v) B print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
8 C* v# W1 U: Y4 ] i=i+1
' j. [' x+ o/ f& E$ C p$ G
9 J$ v9 k8 t6 w
6 C4 F5 ?1 J$ zprint("最少需要"+str(c)+"个苹果")4 g% O# A: Z6 o2 ^& _
$ O( l4 X7 |) ~; f4 t7 Z0 i* S
: O) a" p% k- i& ^2 p
6 _. _* O/ q) K7 T* m% A论坛代码为什么放不到代码框里??
" L- p* X+ y9 q% ~' p/ B( q8 `7 ]
9 T3 d+ X8 \; o. r3 h
这么巧合吗?刚好是5的5次方减4
7 g' W, z+ v( ?7 |5 p- |- N3 L, W2 \/ M, C
要减去的4是固定的,也就是5份的1,不是5个人的1
& B: ]# |% f5 }; H1 b7 C" H- r6 d/ j& ]在while b!=5 的位置分别设置4 3 2可以用计算器试一下1 p: {2 |. z7 ^2 I9 z
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?, S! K2 i8 }3 X# Y
' ]5 J2 ^! S- L) S: r
$ c4 @" h6 d5 W& U/ ]1 q
/ U2 y, U( I3 {" S2 ? |
-
|