|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 8 `1 _, m" l* s! e+ C
2 Q) d; _3 x( k$ J放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
% x6 d$ `1 v3 t4 C0 \( h) \i=03 p& L! p5 z& J2 }2 S) u% Z1 X
4 b x: _* S+ ]/ mb=0 x" n0 a3 ~6 a5 M. n0 o+ Z- N+ [) D
2 W4 k; p* G# U
while b!=3:( {& ~# @* R4 V. |1 H
a=i*5+1 #设最开始有这么多的苹果' M. i! @! z/ j) H+ W
c=a #赋值给需要传出的变量
$ j1 [# G% e3 K( d" f" M if a%5==1 : #如果能平均分5份苹果还剩下一个% F6 U( W- P) G, J$ W" Z+ e
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果7 Y/ [. g+ S# J6 m- ~% Q; U
b=1
y! ?7 d) d1 d! d' C; L if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
& @ J9 C2 m* ?% h" J }6 o) A a=a-int(a/5)-1 #以下依次类推
- l7 e3 m2 O% P6 y/ A" P' V b=2
# a) |, q" r. Q9 t" T- J if a%5==1 :- a6 C. Z: p$ V# m
a=a-int(a/5)-1& j( W6 ^- g( q9 l0 [; V
b=3
3 d/ P! t) u2 s8 y if a%5==1 :4 R0 b1 @0 t2 u* G, M
a=a-int(a/5)-1
+ Q9 |# t" T2 j b=4
! i: W) k3 H9 ]& q9 W' F if a%5==1 :
+ g {6 T: V/ b! i3 r9 K #a=a-int(a/5)-1
( }$ }3 X. j5 q$ o* U b=5 #当第五个人可以正常分苹果时跳出循环
K2 R5 |. l( d8 o% Z) Z5 I& J b$ E8 C0 O+ ~( S# |# U
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))+ M, g/ Q, M$ T5 M
i=i+1# N8 @( v4 @$ Z
8 ^7 _+ t* |2 p9 ?- T* w; b! [) A# ]2 M4 t! O* `- R
print("最少需要"+str(c)+"个苹果")/ T$ g) u! }2 c
- _6 A' T6 w: h. n* d4 e: H- u y% t; N: R# k
' |! I! m6 f% H- d" \论坛代码为什么放不到代码框里??0 f/ e! K7 x/ z) d4 t
5 g4 a6 P* U. [! R9 ?; Z# |; m
这么巧合吗?刚好是5的5次方减4
+ n. d8 m6 M: |( B( O5 a% k
8 Q: R1 }* y: c6 d$ {% q l5 m
要减去的4是固定的,也就是5份的1,不是5个人的17 l* Z G) S8 x( Y2 K' W
在while b!=5 的位置分别设置4 3 2可以用计算器试一下
1 ?! h# E/ m: j; F, d(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?
+ T1 R0 a2 t/ D' l. }
2 x5 L1 f q4 o) r+ h
+ M7 {$ }4 z: D# P" j3 d+ s4 {( T: o& a! z$ I6 x0 W: N
|
-
|