亚洲二区精品_国产精品com_日本高清精品_国产高清一级毛片在线不卡

若楓后處理論壇

標題: 如何用宏程序來計算這道數學題 [打印本頁]

作者: 千年    時間: 2011-6-12 21:01
標題: 如何用宏程序來計算這道數學題
以下是一道數學題:
- I; Y/ D0 Z* o- X) ?一堆蘋果5個人分,第一個人把這堆蘋果分成5份,但是多了一個,他吃了多的那一個,然后拿走了自己的那一份,第二個人過來把剩下的蘋果也分成5份,也多了一個,他也吃了多的那一個,拿走了自己的那一份,第三個,第四個,第五個人都是這樣分了蘋果,都是多了一個,然后拿走自己的那一份。問這堆蘋果最少有多少個呢?
* b1 O! n6 E, Q9 K& O, M" H8 ]4 X用數學的方法一般人很難算出來,請問如何編個宏程序計算出來這對蘋果最少有多少個? 程序要做到盡量優化,使計算時間縮短到最短!
作者: 空氣中的小魚    時間: 2011-6-12 21:29
千年兄你來了,其實,用宏實現這些也挺好了" A" A! |2 i2 a
可以培養一個人的變成思想,當思想成熟了,就變成了算法
作者: jiangssli    時間: 2011-6-13 02:27
說起來容易做起來難啊!!用宏算法表達式把思路表達出來我老是做不好!!!進步太慢了!!
作者: 若楓    時間: 2011-6-13 08:00
這個題目厲害了。
作者: jiangssli    時間: 2011-6-13 14:24
本題目是老千樓主的得意之作!!!!
作者: 千年    時間: 2011-6-13 15:09
樓上純粹是灌水黨,鑒定完畢!
作者: haiku2003    時間: 2011-6-15 17:47
學習學習。。。。
作者: zhousj225    時間: 2011-6-17 22:04
這個很好算啊,還用宏程序,態麻煩了吧
作者: 空氣中的小魚    時間: 2011-6-17 22:21
回復 8# zhousj225
+ z+ i" W4 C+ Z& W2 U+ n. d7 c* Z呵呵,你沒有理解到樓主的用意,雖然這道題可以用數學算出,但是他的要求是用宏程序實現,為什么用宏程序實現呢?/ i8 Z+ N: a( C. `) B2 B" L2 t, b
這里面是有意義的,盡管可能很多人覺得小題大做,甚無意義,其實,宏程序很多人都會,這里面有個深與淺,我個人認為宏程序的精髓在于架構、算法、及給予使用者人性化的操作、嚴密的思維。很多人寫個小程序很容易就寫出來,然而,如果寫個大規模的程序呢?就會覺得無從下手的感覺,而這道題,就是鍛煉一個人的算法,計算的方法效率快與慢和程序編寫者息息相關,寫宏程序,最重要的一點是:不要認為寫出來可以加工就可以了,那樣的思維可能你永遠不能進步,要做到,沒有最好,只有更好,不斷的優化你的程序,用多種方法實現,到了最后,你可能會理解到很多宏程序的精髓所在,不管哪種編程語言,這個道理都是相通的。
作者: jiangssli    時間: 2011-6-18 02:04
回復 9# wmj820303
. d2 J4 L8 A; _$ w$ @$ ?" \9 t0 k0 ?7 l. A8 d- n

1 r2 K& B" w- d    其實現實中像8樓那樣想法的同行不在少數啊!我曾經在很多群發起過用宏來做解密程序的討論,結果基本都是被人潑冷水,說我有病!估計就是覺得這樣做很麻煩,說現成的解密軟件大把,還用宏程序去搞這些無聊的東西等等..........就像你說的,做一個加工用的小程序很簡單,但是要做到短小精悍,精益求精可就很難了!
作者: ayun918    時間: 2011-6-18 11:10
果然是:高手一出手,便知有沒有!
" j8 d/ Y7 ^5 G6 p" F別人送我3個學習錦囊: _& U# W5 s# S
1,實力派0 t/ q/ x, u9 y! k& C
2,偶像派
7 [' Y) f! m& j" ~' f3,蛋黃派- D5 {" b0 ?* e8 x$ n
我挑哪個好呢?
作者: wbx8484    時間: 2011-8-21 00:51
該死才注冊幾天的賬號丟了密碼,重新注冊。。。
5 ?5 Y2 @9 s8 E思路:該蘋果的總數最小值是唯一的。
4 D; [2 V7 t( p3 w3 y  C  j8 Z4 J就是5的倍數于1,判斷余數1是關鍵。& M. }' q6 H9 L& `" n8 L
得出最后一次的總數就可以知道第一次的總數。! }" P8 s* H) ~) ]+ e% A4 k

2 a( z: _. B* D西門子840D ) k. c$ v: @' I7 o+ y

( a' [* ^# k; Q. m0 E1 oR1=1    總數的意思(總數從1個開始計算)& S2 v0 h. E6 t' V0 l
AA:           標簽10 H5 |& {# ?3 w. h- l5 k+ T/ y
R2=R1-(R1-1)/5-1  開始分
7 {+ k" h/ q  s3 F% jR3=R2-(R2-1)/5-19 O  \) Z( T6 g( `
R4=R3-(R3-1)/5-10 t1 f- D' X4 p' J& e) z
R5=R4-(R4-1)/5-1  最后一個人分的總數/ y, g$ Y; E8 d) [8 |" @
R1=R1+1               累加
1 r8 \% |! [: k1 {0 `) b$ {. wR6=1                     倍數
1 W, g# F, H8 rBB:              標簽2
' j; K3 F1 W/ H" e. @- d1 x2 FR7=R5-5*R6       對最后最后的總數進行減5的倍數- s/ R- Y/ G: S- f. W! U% n6 J5 W& L5 j
R6=R6+1            倍數累加# E- x- h3 d. I( s4 l
IF R7<1 GOTOB AA      對余數判斷小于1 返回標簽16 F/ i, H& P1 y' F7 W* e
IF R7>1 GOTOB BB      對余數判斷大于1  返回標簽2
7 I. G  f+ v) Q* a, x" }" S# g7 l. qM302 P# A3 [; }7 e! l5 a
* X  d6 S+ w6 t& T$ S3 d+ j
這個程序在機器上求答案(求 R 值),機器竟然報警位數不夠。
4 q* ~" D6 z. W1 h1 r9 O所以先把程序發上來,向版主求證。。。
作者: dddqmq    時間: 2011-8-28 09:30
本帖最后由 dddqmq 于 2011-8-31 08:35 編輯
2 k) S' o5 ]5 M; y7 N7 R. m1 X5 n' r5 s/ E  l: @9 W- ]7 N
#1=1.! @  h/ [5 w$ T7 e! \. T8 u! o
WHILE [#1] DO1& L! H( m1 L: R  e$ w$ S
#2=1.
, v( G9 \2 S" Z7 i2 `: J#3=5.! m  R6 i% O" h6 z2 p. u$ Z
WHILE [#2 LE #3] DO2. A- z  [3 E, i. c
#4=[#1-1]/5.! w) i( ?8 g, R) I, v
#5=FIX[#4]
  @6 u& c- p& W' v2 G' EIF [#4 NE #5] GOTO1
( ?% r0 R  w) b7 i2 M, E& _) S#2=#2+1  x" G6 Y* W4 u+ S7 J' \0 R
END2
: y: @  \" s) i7 O2 e6 Q) O9 J0 @N1& n) [# R/ V: z" R# j% x
IF[#4 EQ #5] GOTO2
) j' \! H  }* I- S5 H- [#1=#1+1
& U9 n5 I( a3 n4 uEND10 [. k* _4 j5 S0 K( x! Q( l
N2
作者: dddqmq    時間: 2011-8-28 09:44
說一下個人的思路,拿一堆蘋果5個人來分,先拿掉一個,如果分到一個整數就繼續直到分完5次,如果還沒有分到5次就出現分不到整數,總數加1在來分。一旦到第五個人分時還能得到整數個蘋果,結束,
作者: jiangssli    時間: 2011-8-30 08:38
本帖最后由 jiangssli 于 2011-8-30 08:40 編輯   {& z, K( w# l7 x0 D  k9 s+ x# `

7 H' f& @* o, u1 a0 R  x/ N回復 13# dddqmq 2 m. r% c4 P% G: Z8 R3 `
; A1 k( G0 Z. F* }8 }+ W
5 a8 O: r# C$ O9 U+ c6 M
   
1 J4 B% r9 p+ E7 z3 ~第一個WHILE沒有判斷,怎么循環呢?
( U1 v, s/ d; p  J3 e* s還有后面IF判斷調準的NG應該改成NE吧!
作者: dddqmq    時間: 2011-8-31 08:33
回復 15# jiangssli
0 H$ |8 C1 U7 D) Q
' B1 ?& C3 Y6 X# E, g4 u) n4 @
1 b2 F& g# G) a/ s9 C/ X& J    NG應該改NE,抱歉我寫錯了,第一個WHILE是一個死循環,只要#1不等于零就會執行,但我有用GOTO2跳出。
作者: wujwz    時間: 2011-9-8 22:16
以后需再關注,現在先幫你頂一下* j! q" |( f* @; S2 K

3 f: b0 ?" X& c' T( N: e- o1 t+ |: h$ S; E3 D  @

9 t/ R9 _( g% S6 o+ R. n) i
" \, x; m7 \, q$ i; V* c1 X
* P: z6 k# }6 Q$ K; r) p2 L  K, N& e' t6 h
* y& V0 H6 M5 U! J: Y- ]: d
4 @3 A0 k8 Y& L+ t8 S+ v

( P1 H# Q. v; L/ C& @
. J1 g% d( w- {. N* a8 c7 [
+ H9 u+ l; Q6 g, n# H* Q. Z$ @http://discuz.net/static/image/common/sigline.gif
/ W' [% z! W& o* ~% V) Y. S加盟寬福量販商城kuanfuhuo.com,創建自己的商圈,QQ1697404576. {/ R) K" p9 u' \6 z

- S) D' S' H! i- x# d% E2 S# P寬福商城,男裝、女裝、羽絨服,還有鮮花蛋糕送上門
4 l0 \. v: }+ J9 j/ I+ G
2 O0 M& Z. R# N$ a& s0 khttp://kuanfuhuo.com/ImgUpload/2011072319584644_50x520.jpg寬福商城,{網店代理},提供貨源,一件代發

作者: winnertu    時間: 2011-9-9 13:14
高手?。。。?hr noshade size="2" width="100%" color="#808080"> 作者: dlxuxi    時間: 2011-9-22 21:48
講得有道理啊
作者: dq-lb    時間: 2012-3-20 23:17
回復  zhousj225 7 o% c" W9 u8 e# H% G) e
呵呵,你沒有理解到樓主的用意,雖然這道題可以用數學算出,但是他的要求是用宏程序實現 ...- a8 ]6 m  B) \  Y1 W
wmj820303 發表于 2011-6-17 22:21 http://postp.net/images/common/back.gif

; ^! E/ N. r1 _3 s
) d( m2 w5 i3 c( e0 @9 _3 P( x4 V4 b  E
    受益匪淺
作者: chengyue321    時間: 2012-3-21 17:01
沒看明白
作者: qq20071999    時間: 2012-3-23 00:35
高手高手哇,宏程序都用到這個份上額
作者: gafreld    時間: 2014-12-28 11:35
都是知音啊
作者: gafreld    時間: 2014-12-28 11:37
在如今軟件橫行的時代  很少有人用宏
作者: ya_blueang    時間: 2015-2-18 12:04
學習,謝謝樓主分享
作者: Myhui    時間: 2021-10-1 03:01
本帖最后由 Myhui 于 2021-10-1 12:32 編輯 3 t% \3 Z- J  B  C7 I+ S* S, v$ T' l

+ ?+ n9 g4 B' I8 L/ C, C3 M# f放假了,沒有機床測試,用python測試了下,結果是3121嗎
  1. i=0
復制代碼
[attach]9352[/attach]; `2 S4 K: d' q; T: u
i=0% @$ |& j' _+ ~. e$ _

/ K9 E9 I6 m2 Jb=0
6 ~5 |. n( O( ]# Q
3 ]; Q8 t6 G# owhile b!=3:
  H; F- x( L! J) c- k, o    a=i*5+1 #設最開始有這么多的蘋果) V0 h: x! S' @- B' T2 b6 v5 B
    c=a #賦值給需要傳出的變量
, N0 U4 K) a0 G  t5 {    if  a%5==1 : #如果能平均分5份蘋果還剩下一個' N- I1 m; b7 _3 N0 I' y# z
        a=a-int(a/5)-1 #第一個人拿走一份再吃掉一個后剩余的蘋果* F9 m" p; ~! h/ E. {
        b=1
/ D  }) I, ^4 O        if  a%5==1 : #如果第二個人能把剩下的蘋果平均分5份蘋果還剩下一個
% ]" y1 [$ r7 M- R  a" H3 X            a=a-int(a/5)-1 #以下依次類推
4 u& B' `: }& g6 c$ ]- W. u- D$ i            b=2, r1 k' r' F- R7 `% J
            if  a%5==1 :% C* O( [+ w. P0 m! f" H
                a=a-int(a/5)-1
, H1 ~; [9 J4 e8 z9 t" O2 \- y1 V                b=32 P0 K6 D, U( w" E
                if  a%5==1 :
- ?! N7 a& ?+ M0 o7 a6 P                    a=a-int(a/5)-12 k* s% b/ G* D
                    b=4( p7 O+ p: u  H, `7 h8 b1 t
                    if  a%5==1 :3 B. m) a# x* ?/ h
                        #a=a-int(a/5)-1& ~# t* Z: j* T! W. w, x5 N) T
                        b=5 #當第五個人可以正常分蘋果時跳出循環
+ u6 z! A9 _) M9 d
' j+ I  r( {( t- Y2 N    print("第"+str(i+1)+"次循環 到第"+str(b)+"人可分配 當前循環的蘋果數量"+str(c))# P2 T! V9 X/ y' M3 I) O5 m$ F0 J0 ~
    i=i+1
5 K/ b( _1 R: {1 f9 w- u+ {3 j4 h0 o, _; j

  H9 r5 f3 E. Zprint("最少需要"+str(c)+"個蘋果")7 A, E/ i0 u8 w* d* V
- `+ S) g/ X- T+ o

  j, D1 Z* k8 q0 n( P2 w! w4 s7 z
# n' b2 ?$ a  X( u論壇代碼為什么放不到代碼框里??) a0 p0 h$ A# g( a4 {; [

7 v# E2 I) M5 b8 M; s/ U4 g[attach]9351[/attach]  Q! H  \4 d& ~5 J

1 z: p, Q' U9 R! j6 g要減去的4是固定的,也就是5份的1,不是5個人的17 p8 N1 J4 D$ o2 p+ u; x4 ~8 z6 @
在while b!=5 的位置分別設置4 3 2可以用計算器試一下
! A+ ?8 y* Z/ h(5份)的(n人次方)減去4等于最小蘋果數量???如何可以推導出來?
& m5 I2 m* V! S, W/ z# ]9 g( i; U- o
: ~! r( f2 m+ b8 f
$ g+ u* }" o+ F5 n' T

作者: VYF0412    時間: 2022-1-11 15:00
感謝貼主分享經驗感謝貼主無私分享寶貴知識,意思就是思路啟蒙很重要唄,啥事都得先有個思路
作者: ug大神    時間: 2022-3-12 02:00
66666666666666
作者: wx_1657443396    時間: 2022-4-13 15:30
如何用宏程序來計算這道數學題
作者: wx_5544813524    時間: 2022-5-13 16:34
ffffffffffffffffffffffffffffffffff
作者: 1603810058a    時間: 2023-4-13 21:26
是個高手




歡迎光臨 若楓后處理論壇 (http://m.buddhismlove.com/) Powered by Discuz! X3.5