|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 # c, y9 h/ R, n; ?1 H3 R" z
# q- s1 I) ^9 `' f" @0 f
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
- j5 h, i5 ?$ d" _2 x3 J3 J( |) V+ q3 \
i=0% @* O& H* B+ N* `
7 `$ d: u$ Y; d& ob=0
& ^8 ?- m$ v# \% r* u2 X& E9 m) f$ o' h2 @; i- h, N
while b!=3:% v A8 V: q) |( y- n- h$ ?) m. y
a=i*5+1 #设最开始有这么多的苹果
0 C4 w& @" j4 P* j/ [ c=a #赋值给需要传出的变量$ S8 A6 I* m, i8 J' Q
if a%5==1 : #如果能平均分5份苹果还剩下一个
5 \* z6 K/ ?0 R5 q; a% F$ w a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果' }8 s, `2 {. e$ @: K7 r
b=1. L# L" h% O2 F- b# I4 w+ N
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
0 S- ^4 B( q- f* S3 p a=a-int(a/5)-1 #以下依次类推. t1 o8 O ~5 i4 V! F0 Q& a Z
b=26 P+ O! l( q( G% O, l J% w
if a%5==1 :
- i- k: \% ]2 }1 F7 o. i a=a-int(a/5)-1
2 i, J5 F: X5 e O$ O0 ] E4 j b=3
' k8 S2 k% ]1 d% ^ if a%5==1 : B9 I3 c& Y- R' E( _. v
a=a-int(a/5)-1# T0 M5 h7 r3 E U
b=42 P8 x% v2 n+ J+ `# i" x
if a%5==1 :
: i! Q+ H. H# x# c; P8 H #a=a-int(a/5)-1" O1 A' i' I# P9 M
b=5 #当第五个人可以正常分苹果时跳出循环
. R8 l4 l/ d8 y9 E: Y& j H% G, f5 R# ^" B- }* E; J/ n) Q' @$ T
print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
A9 ]3 c$ N2 L( k1 B i=i+1
$ K- o% w, M7 p" k1 }, q E
+ ~4 x1 r5 l- {, f7 P4 ^+ d6 x' N) h4 i( }4 K
print("最少需要"+str(c)+"个苹果")/ Q6 H ~; E. X; h+ P# X
0 @/ y" g3 a9 H8 i" x
2 @' @3 ?4 G( q% b6 E& i- U
2 u6 M; c$ n7 l3 k5 _2 E
论坛代码为什么放不到代码框里??1 z1 V$ T( M% V0 f. K5 N
) d! T4 m1 J! X" q' X! q5 R* O7 P
这么巧合吗?刚好是5的5次方减4
# Y5 f% o- z ^, b9 S4 Z
q+ s/ l9 `6 }& O要减去的4是固定的,也就是5份的1,不是5个人的1* E- ?" n3 t8 N$ k( Q$ D
在while b!=5 的位置分别设置4 3 2可以用计算器试一下2 E4 c% m& R! v; i
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?+ q4 R" ^8 h. a+ K3 k! _7 J1 w
0 \' E! D5 }$ b2 F5 |( K. T% T. x' x# `$ e1 ?8 D( J
; m/ f/ v* G+ d& w+ k6 |
|
-
|