babgbag
bag
rabbbit
rabbit
3
原文出處
在相鄰的兩分數
與
之中插入一分數![]()
例如,一開始我們在
與
之中插入一數,得到一組分數集合,
![]()
這三個數中間又可以另外插入兩個分數:
![]()
以此類推,得出另一組分數 ,
![]()
整個分數集合可以用二元樹(binary tree)來表示:

此結構是有序的,不同位置上的分數皆不會相同。
事實上,我們可以把Stern-Brocot tree當作是一種數值系統,用此系統來表示有理數,因為每一個正的、最簡的分數剛好只出現一次,若我們以字母L與R來表示對右子樹與左子樹的尋訪,則此二元數上的每一個分數都可以用唯一的一組字串來表示。例如,LRRL是指由
開始拜訪右子節點
, 再拜訪左子節點
, 再到左子節點
, 最後到右子節點
,所以我們可以用LRRL來表示
。用這種方式每個分數都可以用一組只包含L, R的字串來表示。
本問題會給你一個正的有理分數,你必須以Stern-Brocot數值系統來表示它。
Input
輸入包含多值測試資料,每組資料一行,共有兩個正整數 m 與 n,且m, n互質,當m=1, n=1時表示輸入結束。
Output
請以Stern-Brocot數值系統來表示每組輸入。
Sample Input
5 7
Sample Output
LRRL所有暫存器的初始值為000,而記憶體的初始值則從輸入中讀取,程式從位置0開始被執行,所有運算結果若發生溢位則取餘數。
輸入的第一列為一個整數,表示有幾組測試資料,每組測試資料請見下一段說明。每組測試資料之前都用一個空行隔開。
每組測試資料最多會有1000個以3位數字表示的機器語言指令,所有指令會從0開始儲存在記憶體中,未指定內容的記憶體空間則初始化為000。
每組測試資料的輸出請參考下一段的說明。每組輸出請用一個空行隔開。
每一組測試資料請輸出一個整數,表示總有多少指令被執行(包含最後的中止指令),你可以假定程式最後會中止。
1
299
492
495
399
492
495
399
283
279
689
078
100
000
000
000
16
原文出處
感謝David Kuo堪誤
考慮有三個政黨的情況,假設 h1 = 3, h2 = 4, h3 = 8,其中 hi 為政黨 i(i=1, 2, 3)的“罷會參數”,接下來我們摸擬這三個政黨在N=14天內的罷會行為,模擬的情況總是設定第一天為星期日,並且每週的例假日(星期五與星期六)不會有罷會的情況。
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
| Days | ||||||||||||||
| Su | Mo | Tu | We | Th | Fr | Sa | Su | Mo | Tu | We | Th | Fr | Sa | |
| Party 1 | x | x | x | x | ||||||||||
| Party 2 | x | x | x | |||||||||||
| Party 3 | x | |||||||||||||
| Hartals | 1 | 2 | 3 | 4 | 5 |
上述的模擬結果顯示14天內將罷會5天(第3, 4, 8, 9, 12日),而第6天沒有罷會是因為該天是例假日星期五,因此可看出兩週的議程已去掉了5天。
本問題會給定各個黨政的“罷會參數”與總議程的天數N,你的任務是算出在N天內共有多少個工作天因為各政黨的罷會而導致議程延岩。
輸入的第一列為一個用來表示有幾組測試資料的整數T。
每組測試資料的第一列為整數N (
) ,用來表示所模擬議程的天數。下一列為另一個整數P (
)表示共有P個政黨,接下來的P列分別為各政黨的“罷會參數”(絕不會為7的倍數)。
輸出的每一列表示每一組測試資料所模擬出來的罷會天數(損失多少個工作天)。
2
14
3
3
4
8
100
4
12
15
25
405
15Steps : Example
1) 假設令N = M = 265為欲加密的數字
2) 把N視為十進位數值,令X1=265(十進制)
3) 把X1由十進制轉為二進制,故X1=100001001(二進制)
4) 針對以二進制表示的X1計算共有幾個1,X1=100001001共有3個1,即令B1=3
5) 把N視為十六進位數值,令X2=265(十六進制)
6) 把X2由十六進制轉為二進制,故X2=1001100101(二進制)
7) 針對以二進制表示的X2計算共有幾個1,X2=1001100101共有5個1,即令B2=5
8) 最後的編碼為 M xor (b1*b2) M xor (3*5) = 262
這位學生在計算組識(Computational Organization)這門課被當掉了,所以他請求校方在ACM的試題上出一題計算共有幾個位元1的題目,好讓他能順利發表他的加密演算法。
Task :
你必須寫一個程式能讀入一個整數,然後輸出該整數的b1, b2值