我想在紅寶石,做以下線性序列發生器
注創建程序: 該公式以線性序列制定出的整數是a[n]=a[1]+(n-1)d
例如,序列中2;6;10;14;18;22;26
2=a[1]
和18=a[5]
,d=4
這是常見的差異,所以按照這個順序的公式是a[n]=2+(n-1)4
。要計算出a[10]
是a[10]=2+(10-1)4
,因此a[10]=38
。然後制定出什麼n
是,如果a[n]
給出,你需要那麼根據2;6;10;14;18;22;26
如果26
給出然後26=2+(n-1)4
,然後重新組合成一個等式因此26-2+4=4n
n=7
示例順序公式重新組合成一個等式a[n]-a[1]+d=dn
。
方案
程序應該能夠產生具有共同差(d
),例如一個序列。 4;10;16;22;28
或允許我輸入一個具有d
的序列> 3個整數,但我不輸入d
(3是計算d
所需的最小整數)。然後,我會輸入n
,它將按照該序列計算出a[n]
,因此根據序列4; 10; 16; 22; 28 n=20
因此a[20]=4+(20-1)6
因此a[20]=118
(注意,給出的序列只會是x
位置,您需要輸入x
例如。x=5 1;3;5;6;8
或x=3 1;3;5
其中x>3 integers
)
然後該程序也應當是能制定出n
如果我給它從該序列a[n]
的整數,它用下式例如4;10;16;22;28;34;40
發現n
,我給40
然後該公式將是40=4+(n-1)6
,它需要找到n
,但爲了做到這一點,它將需要重新排列公式到一個公式,以找到n
因此它將是40-4+6=6n
因此n=7
(注意代表a[n]
的數字不必在序列中顯示,但必須具有相同的偏移量價值和相同的普遍差異例如。我庫侖已經使用44
代替40
對於以上)
所以在最後的程序必須能夠:
- 生成具有共同差異的隨機數序列
- 生成,如果一個隨機數序列共用差分被輸入
- 允許一些序列的輸入大於3
大於3點的整數利用上述它必須能夠:
- 鍛鍊
a[n]
- 鍛鍊
n
我怎麼會寫這個程序?
這不是真正的SO的範圍。你爲什麼不穀歌一些方法,嘗試一些事情,並回來一個特定的錯誤,你遇到? – Bowdzone 2014-10-30 07:43:19
似乎你需要設置範圍。 – Sylar 2014-10-30 07:44:37
您能否展示一個示例(輸入和輸出)以及迄今爲止嘗試的內容? – Stefan 2014-10-30 08:14:19