|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 u9 Y: `$ \6 E! ^9 Q$ p7 o
# _$ V2 [9 ^' C% b; @0 P! ^放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
6 d; h6 C g* O: O' h# z
i=0 t6 n7 _! ^! |
6 z; k9 v+ R/ S( _8 }) N
b=0, r% b& k+ u& k5 X& n
( l* @" I. N, A2 gwhile b!=3:+ m0 R, s! S# i9 f( U8 Q* i" N
a=i*5+1 #设最开始有这么多的苹果7 T6 x8 ]" `: n; s$ S6 v- ^
c=a #赋值给需要传出的变量( ^7 N8 d: d. G/ k9 V% P5 C
if a%5==1 : #如果能平均分5份苹果还剩下一个
3 w4 P1 d$ a( m& v1 l a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果, g1 |' u4 u' g
b=1
7 s) {8 V) I. r8 b if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
6 B0 R4 x5 E' S9 {; g a=a-int(a/5)-1 #以下依次类推
) a/ B% i7 H( ~5 U, T: O b=2
% S1 B3 r, I2 z6 p' ^1 ^2 K9 V$ N( S if a%5==1 :
# x$ f, O0 p' E( v6 e( a2 p a=a-int(a/5)-18 r X8 E# \* e2 _
b=3' S; o& d0 ^1 I
if a%5==1 :
% J$ y/ T* p \5 M- C+ N a=a-int(a/5)-1$ Y5 y" s& \/ O* }/ O9 i
b=4
5 L, W! H* [, c1 i* m+ ]: U if a%5==1 :
! [: J8 I; G# t0 b* t #a=a-int(a/5)-1) [* N( L1 O% c- S" q
b=5 #当第五个人可以正常分苹果时跳出循环* j, P% }( ^2 i) R6 S% C
: y+ l6 [: n- \* ~
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))) Z- K, O, S( ^1 K& t" B
i=i+1
! n4 V' f4 o9 X' m: N6 u( |! n4 ?0 y/ Y: x2 j0 f2 Y
" ]. Z( W2 E( [- r, b! L0 Jprint("最少需要"+str(c)+"个苹果")
" w2 s% O" c* f; x, s" d
5 \/ A7 O+ W- c* [. c6 C9 g9 @- k/ ?% R. r
# X# e7 |+ `- J论坛代码为什么放不到代码框里??
/ T: g- g$ a6 k! W
' P) W3 G, w% V* k9 F) A9 l5 t ^
这么巧合吗?刚好是5的5次方减4
6 Q" U4 i ~! T9 S+ ]. P2 `- n0 ]
+ ?- w; J" Z; ]
要减去的4是固定的,也就是5份的1,不是5个人的1' _5 k1 G/ R8 G- w4 n1 Q2 s. {
在while b!=5 的位置分别设置4 3 2可以用计算器试一下5 J0 _1 E5 a( E1 Y$ _4 v
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?9 | L4 G8 t3 `; I" f' _
- e- C+ r& [1 D/ ^
+ c. R$ b% m$ y. Q2 `& ]8 U( ?7 Z! z$ c; K* @4 k
|
-
|