|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 1 k# }; A2 A* J, ~$ ?& D
5 j7 u8 E; f/ l! g0 x6 B9 s b- S放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
+ ?+ T- u! F( N2 B
i=0, c6 Q6 i* {( V/ C ^ y m1 v+ a
7 \$ S6 d3 p" j# i4 Sb=0 A" d; R& z2 c! N
\0 L: \6 l. V( Q2 P: E9 Z6 m7 p
while b!=3:
3 D5 t* l: O6 H a=i*5+1 #设最开始有这么多的苹果
) I, K B9 m5 t, b; Z0 e/ n J) d5 X% J c=a #赋值给需要传出的变量5 E# M, A. C( r; G7 X. Z
if a%5==1 : #如果能平均分5份苹果还剩下一个) G. C0 I0 s, ]& `4 H W5 `$ A
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果# J4 K" J2 d% M" {7 k% J5 {; p
b=1' r, {3 [. c; O; ~6 z" H1 f
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个4 z& T- a3 q3 n9 [: ^
a=a-int(a/5)-1 #以下依次类推
/ G; F2 |& ]: X+ E& g b=2
8 z, [. Z- D! z if a%5==1 :
# D* a1 {- D& Q% j+ P. d a=a-int(a/5)-1
% u/ K: N6 e8 H" v3 X8 S& _ b=3
. g( I; [! O# \; B7 x if a%5==1 :& D5 t) ?$ t- L {/ |3 `' \3 |
a=a-int(a/5)-1
7 S1 R" N' e( x+ Z- s6 b$ [ b=4
) K% k) z+ d: r if a%5==1 :
6 o6 Y9 Y- a& h/ a' b% P. H #a=a-int(a/5)-1
. |, P# w. t, b& i' r+ p b=5 #当第五个人可以正常分苹果时跳出循环6 k6 {: y/ J" Z2 p
; @: R' Y$ L" S5 R print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c)); I9 L+ y5 U" l5 d9 L. M
i=i+1
; z( t+ Q2 Z$ y( S& Z0 ?
: ]. t- d: q: p1 U4 |2 S5 g2 K6 Z( }+ ]- q- }7 E# w; M5 W; @" c$ g9 Z
print("最少需要"+str(c)+"个苹果")
1 @0 ~& n7 `% y0 O; Q9 c
1 O8 G+ _8 E. P9 u H- O7 ]9 o4 G$ y' G3 w: N4 Z, Y
9 e S: b6 Q+ r6 k7 n6 W- M论坛代码为什么放不到代码框里??
. _6 F& ^& V7 `+ @: I( h
( J& d& W* P- b
这么巧合吗?刚好是5的5次方减4
! W" g, o9 z8 b% H
8 [& _5 n3 _) |: z要减去的4是固定的,也就是5份的1,不是5个人的15 r* f' B0 I" {6 N4 v0 j/ V8 X1 L
在while b!=5 的位置分别设置4 3 2可以用计算器试一下
6 I; ]+ B$ J a1 \(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?
D S/ \. x/ Y. Z- p" b3 D5 S8 d' G* l: T* O6 p" Y$ d8 d; H
1 d! U; B8 _5 ~, s
, y" j/ C3 i2 u) c1 e8 v |
-
|