|
|
发表于 2021-10-1 03:01:01
|
显示全部楼层
本帖最后由 Myhui 于 2021-10-1 12:32 编辑 3 n& B$ Q8 H. c. Y& q4 @) t- i7 F
# R/ W. X r5 r) O1 x7 j6 }) ^
放假了,没有机床测试,用python测试了下,结果是3121吗
625等于5的5次方
! M8 M4 N2 E! x/ H$ \8 z# \/ h7 Vi=0
! k6 O% |' d( S# g
5 p1 ]) f5 w7 z% b0 }b=0
+ @6 [$ s h) g) t! [2 p( n& |
# [& M+ y' @" o/ e9 F# A8 M Gwhile b!=3:
8 I$ ]# b0 f# h- E1 ?8 ]& l a=i*5+1 #设最开始有这么多的苹果4 |% v) z/ O5 t# r( M" m. J
c=a #赋值给需要传出的变量5 i% j& _ e( }1 B" V0 T
if a%5==1 : #如果能平均分5份苹果还剩下一个( \0 p, o' g: j" `$ M* k
a=a-int(a/5)-1 #第一个人拿走一份再吃掉一个后剩余的苹果
) A' i3 E G5 y j& d; d% c b=10 b% D4 r. i( g `5 \: q5 Y
if a%5==1 : #如果第二个人能把剩下的苹果平均分5份苹果还剩下一个
" {2 B' o) B6 m x3 v a=a-int(a/5)-1 #以下依次类推- O9 h& p4 a: t3 A3 Y5 \+ \
b=29 n+ W# o3 t# x6 b/ L
if a%5==1 :
2 g# d$ H5 ?* z- R a=a-int(a/5)-1
2 b& @2 W2 o+ H% A b=3
z) \2 O5 R- B+ O if a%5==1 :
: b8 {) k/ M$ y& h8 u- r J a=a-int(a/5)-1
! G H1 f/ a+ |: X b=44 T8 Z {4 h) y; e" {8 x& z
if a%5==1 :; }0 a2 J- u5 Y4 g
#a=a-int(a/5)-13 I. C9 N& d. L* H; l v
b=5 #当第五个人可以正常分苹果时跳出循环5 C V5 e/ u2 u% \6 c) I3 ?0 w
* ?( E2 p, q$ l: E i print("第"+str(i+1)+"次循环 到第"+str(b)+"人可分配 当前循环的苹果数量"+str(c))
( f, z* W( F1 m5 M i=i+1
$ K. d# `$ X/ |% |3 b0 {5 v3 w$ O! m7 W8 a. z0 z
5 F0 _1 m& L# H" cprint("最少需要"+str(c)+"个苹果")" q/ Y4 f' v- _7 X/ V1 ]! F
% |0 m: h0 L2 d4 J7 }
9 a6 S) _4 Y4 i, s- p6 y+ e) w- e6 ^9 b% y
论坛代码为什么放不到代码框里??
! L3 G- c% b) R) E- @
0 y" g" z7 P" D% k/ x
这么巧合吗?刚好是5的5次方减4
# O! q* R7 f4 Q* ~
7 x* S6 S/ Y, [. a* D7 M
要减去的4是固定的,也就是5份的1,不是5个人的1
* j5 \% K$ ]- G3 A在while b!=5 的位置分别设置4 3 2可以用计算器试一下' {4 m V" S/ _8 x$ p) s6 O
(5份)的(n人次方)减去4等于最小苹果数量???如何可以推导出来?
h! { N; O9 J1 ?& _) Z) I l9 [) s
6 \- z6 K3 X( F8 P( Y
% Y; r/ t/ h( \9 u- s1 A4 Y l( t( C* n* C( H7 V/ I5 {* Z4 S4 Z
|
-
|