|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑
/ |: m( D! H: J) L# Z
: ]. q* h! @" |; o5 C放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
3 n9 Z) S! \: U% W- ?2 @4 L f- I; r
i=01 U4 p; k5 m3 r/ h! b
- [& s" x5 V# X8 e9 H" L1 p/ i4 `8 pb=08 q: N& {" P( U: p3 C
9 G9 `% P$ R. m7 _# {while b!=3:
: b. j8 ~. }2 g a=i*5+1 #设最开始有这么多的苹果
2 L) P( |- [: t$ u' ] c=a #赋值给需要传出的变量! ~: w3 o4 ^3 M2 l/ j6 B
if a%5==1 : #如果能平均分5份苹果还剩下一个4 q$ o9 ?5 q; A4 U1 r
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
: U" x# p+ O! b6 l b=1
, s: `7 ~! Y, b( i3 u( p if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个3 Q" L8 C4 b: G( u- O
a=a-int(a/5)-1 #以下依次类推
& L( O7 T+ v6 V+ ~% W1 ^ b=2
4 F5 r, J+ h0 M7 Q/ d. J2 r( z0 T if a%5==1 :5 r: K0 D3 a; c% x) ~) h6 F3 P
a=a-int(a/5)-1
0 H. d3 V; m2 l b=30 X4 a/ ]% F4 V2 [; }4 X
if a%5==1 :
$ o7 O: Y9 O! |' f9 H a=a-int(a/5)-1
w) C# t! V( a b=4
5 @$ X+ L- f4 n' _* e+ R if a%5==1 :
/ V. n, @" g) O3 z% s4 j* n #a=a-int(a/5)-1) X* M- D8 ]$ g2 J# m
b=5 #当第五个人可以正常分苹果时跳出循环
! r1 n9 t' L& O% v& j1 B. Z1 _5 X7 X; {. ~! E# C i
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))1 ]1 Q5 @; x8 I
i=i+1, V( u; Y# }% u# w+ z# ?+ k
8 C1 p0 a/ F, |; A4 x
& @4 P5 V, M5 U
print("最少需要"+str(c)+"个苹果")
+ c9 b) e, j: }' e7 W
1 m9 H5 S$ q6 X* l" {- b* `& ^$ u" J: d# H8 o; X; l! N3 v, s3 g' g
& U9 O2 S4 T! r6 ~: G- Q- s K! @& C
论坛代码为什么放不到代码框里??& K. y* V0 J; h. U6 T
% N; m4 Y/ x' ~1 |7 O
这么巧合吗?刚好是5的5次方减4
- l5 p. `" i u, W4 H+ Q5 D5 A% X- q
要减去的4是固定的,也就是5份的1,不是5个人的1" u6 m) X: O% r
在while b!=5 的位置分别设置4 3 2可以用计算器试一下$ ^" C- X! d, }# d1 {% ]6 ]9 p4 x5 T
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?# ]# ]: H- \ h: e. U
7 I( g1 c6 r! o0 O% ^
0 d5 ~7 \0 X/ f6 ?
1 K. s0 w; X( J |
-
|