72 構造序列

2021-10-05 08:23:59 字數 1352 閱讀 8057

72 構造序列

問題描述 :

序列是在數學世界中一種非常有趣的數字現象,它通過某一規則來產生數字,使數字變得有趣、變幻無窮。很多數學家對序列這種事物產生了濃厚的興趣,花了很多時間對其進行研究,明明就是其中的一位。一天,他又在研究一種新的序列產生規則,該序列的規則如下:

1) 第1輪,寫出兩個1,即11;

2) 第2輪,在它們中間插入2,成為121;

3) 第3輪,在上面數中每兩個相鄰的和為3的數之間插入3,成為13231;

4) 以此類推下去,第n輪,在第n-1輪的數字的基礎上,每兩個相鄰的和為n的數之間插入n。

明明根據這個規則開始構造序列。開始還覺得容易,但是越到後面,明明發現構造序列的計算量越來越大,計算難度也越來越高,計算速度也越來越慢。於是,明明就求助於你這位程式設計專家,能否幫他寫乙個程式,構造出序列的前9項,然後當明明需要知道序列中的哪一項的時,你就把那一項的數字告訴明明。

明明的問題可以歸結為:根據題目描述中所描述的序列產生規則構造序列的前9項,然後告訴你乙個正整數n,要求你輸出序列的第n項。

輸入說明 :

你寫的程式要求從標準輸入裝置中讀入測試資料作為你所寫程式的輸入資料。標準輸入裝置中有多組測試資料,每組測試資料僅佔一行,每行僅包括乙個正整數n(1≤n≤9),代表之後所要求的序列的第n項的值。每組測試資料與其後一組測試資料之間沒有任何空行,第一組測試資料前面以及最後一組測試資料後面也都沒有任何空行。

輸出說明 :

對於每一組測試資料,你寫的程式要求計算出一組相應的運算結果,並將這一組運算結果作為你所寫程式的輸出資料依次寫入到標準輸出裝置中。每組運算結果為乙個整數,即所要求的序列中那一項的數值,每組運算結果單獨形成一行資料,其行首和行尾都沒有任何空格,每組運算結果與其後一組運算結果之間沒有任何空行,第一組運算結果前面以及最後一組運算結果後面也都沒有任何空行。 注:通常,顯示屏為標準輸出裝置。

輸入範例 :34

5輸出範例 :

13231

1432341

15435253451

#include

#include

typedef

struct datad;

d data[9]

=;void

init()

;int

main()

return0;

}void

init()

str[j+1]

=i+'0'

; len++

; str[len]

='\0'

; j++;}

}strcpy

(data[i]

.str,str);}

}

序列 構造題

首先 最多有乙個數字同時出現在最長上公升子串行和最長下降子串行中,所以若 a b n 1a b n 1,說明無解.然後考慮怎麼構造,將 分成若干個大小為 b b 的塊 可能會剩下乙個小塊 總共有 a nb a bn 個塊,則最長上公升子串行的長度至少為 a a,若 a a,說明無解.否則可以在塊內反...

7 2 最長連續遞增子串行 20 分

給定乙個順序儲存的線性表,請設計乙個演算法查詢該線性表中最長的連續遞增子串行。例如,1,9,2,5,7,3,4,6,8,0 中最長的遞增子串行為 3,4,6,8 輸入格式 輸入第1行給出正整數n 10 的5次方 第2行給出n個整數,其間以空格分隔。輸出格式 在一行中輸出第一次出現的最長連續遞增子串行...

30 序列構造

給定兩個長度為 n 的正整數序列 a a1,a2,an 和 b b1,b2,bn 現在你選擇 k 個數構成序列 p p1,p2,pk 使得 序列 p 中的元素是不重複的1 pi n 其中1 i k2 ap1 a pk 大於序列 a 所有元素的和2 bp1 b pk 大於序列 b 所有元素的和 k 小...