|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 9 A d1 q! h1 l+ K8 P, r6 F
7 X) C: z- ]* \0 u: o' d
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
( Y: l. y7 b" T, ^6 pi=0
$ M1 U4 U* b: Z3 B. V) c- p# ]* E7 r/ ]* [4 m% L- X
b=0
$ a+ N3 ]9 l9 F @, \
' e# e* f2 l rwhile b!=3:
' T$ Y) G, f6 y a=i*5+1 #设最开始有这么多的苹果
" |( ?& k4 e: K2 [: x c=a #赋值给需要传出的变量0 m* h: w+ Q$ A8 G1 g: v
if a%5==1 : #如果能平均分5份苹果还剩下一个8 `% I) f8 S" N' d5 J
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
5 W6 @; x/ Y3 o0 l+ K6 y b=1
# O: U. A ?& g' |/ a if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
c9 E* q+ S8 k a=a-int(a/5)-1 #以下依次类推5 |9 s8 W0 Z: i7 c, L$ b1 }- h
b=2
+ f9 I/ }/ J, M- J1 @( N if a%5==1 :
% y1 l) Y4 E b a=a-int(a/5)-1
8 \ Q$ {9 f/ d% J9 w) U b=3
% [) |/ H1 U2 s if a%5==1 : s# K3 P6 F( h' k: x. t
a=a-int(a/5)-1$ u$ J/ ~( ~' J: e: P
b=4
$ [' @$ |5 V1 X if a%5==1 :
$ Q. Y2 _; c" u! c* [+ x #a=a-int(a/5)-1+ r# k- d( p0 W5 r+ ?
b=5 #当第五个人可以正常分苹果时跳出循环
$ f! w5 V& F" z8 s
1 n# N' h5 k: J# N: d8 Q9 I7 V print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
) C) v5 A1 I( I ~) L H! w i=i+13 r9 ]+ H7 n" t8 r, ], }1 [
: ?/ V' b( q @. G
5 v, t; O+ D2 P5 g
print("最少需要"+str(c)+"个苹果"). D* ?( a0 l$ F% A) n& p
/ @5 j/ @/ o3 [$ A% S" D' s5 E N
U# ~2 t! @1 q+ J! _
% ~6 P' Z! A: h8 b7 J. m论坛代码为什么放不到代码框里??* b0 j- d0 b/ |+ C! R
" w5 s0 Z& s' \
这么巧合吗?刚好是5的5次方减4
2 {5 H1 I5 ]! I, B( [
! |6 B3 d% `& n要减去的4是固定的,也就是5份的1,不是5个人的1# r4 V* Q/ X5 Q- |4 u9 `
在while b!=5 的位置分别设置4 3 2可以用计算器试一下
% h, u- B( j/ n( N# A3 {6 J(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?% H& n/ l, D- o; ^9 q4 b# |
2 Y+ A6 A. X, R7 D
9 ]: ?6 x: ?3 C1 h9 h' n$ K5 o+ l3 B7 f0 d s: h. L ^
|
-
|