Re: [理工] 97成大資工程式設計
※ 引述《FRAXIS (喔喔)》之銘言:
: ※ 引述《xan222 ()》之銘言:
: : 用一個private變數儲存乘數. 令其為mul
: : 部分程式碼:
: : initial() mul = 1;
: : MULTIPLYALL(n) mul *= n;
: : write(k,m) array[k] = m;
: : ZEROALL() mul = 0;
: : read(k) return array[k]*mul;
: initial() mul = 1, count = 1, prev_zero = 0
: MULTIPLAYALL(n) mul *= n, count = count + 1
: write(k,m) if (mul != 0) array[k] = m/mul
: else array[k] = 0
: valid[k]=count,
: count = count + 1
: ZEROALL() prev_zero = count, count = count + 1
: read(k) count = count + 1
: if (prev_zero > valid[k]) return 0
: else return array[k] * mul;
: 我的想法是類似這樣的,或許還有bug,希望大家多多指教
路過剛好看到,也提供我自己的答案
雖然好像有點晚了 = = 不過也可以留給明年要考試的同學
當然,也有可能會有問題,煩請大家指教了
INITIAL ()
FOR each element I in array MOD
MOD[I] ← 0
LOOP
T ← 1
UPDATETIME ← 0
WRITE (k, m)
ARRAY[m] ← k
IF MOD[m] <= UPDATETIME THEN
MOD[m] ← UPDATETIME + 1
ENDIF
READ (k)
IF MOD[k] > UPDATETIME THEN
RETURN ARRAY[k] * T
ELSE
RETURN 0
ENDIF
MULTIPLYALL (n)
IF n EQUAL 0 THEN
RETURN ERROR
ELSE
T ← T * n
ZEROALL ()
UPDATETIME ← UPDATETIME + 1
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.114.130.133
※ 編輯: sasoric 來自: 59.114.130.133 (04/03 18:47)