# | Problem | Pass Rate (passed user / total user) |
---|---|---|
14075 | Two Sum (complex ver) |
|
14076 | Pascal’s Triangle (complex ver) |
|
14077 | Prime Number (midterm) |
|
14078 | Sorted String (midterm) |
|
Description
給定一個整數目標值(稱為target)、一個正整數,代表陣列長度(稱為 listLength),和一個整數陣列(稱為numberArray),請判斷整數陣列(numberArray)中哪兩個整數相加會得到目標值(target),並將兩數輸出。
Note:
-
整數陣列 numberArray 不一定由小到大排列
e.g.
(o) 1 2 3 4 5
(o) 5 4 3 2 1
(o) 4 2 1 5 3
-
陣列中的數字可能重複出現
-
需考慮的情況:
-
無解
-
一組解
-
多組解
Sample IO
-
無解
Input:
10
1 2 3 4 5
Output:
No match answer.
-
一組解
Input:
9
1 2 3 4 5
Output:
4 5
*不重複輸出相同組合 ((4, 5), (5, 4))
-
多組解
Input:
6
1 2 3 4 5
Output:
1 5
2 4
*不重複輸出相同組合 ((1, 5), (5, 1) / (2, 4), (4, 2))
Input
一個目標值整數*target,一個正整數*listLength,ㄧ個整數陣列*numberArray(陣列長度為 listLength,即為陣列內共有 listLength 個整數)
Note:
-
-2147483648 <= *target <= 2147483647
-
0 < *listLength < 20
-
-1073741824 <= *numberArray[i] <= 1073741823
Output
輸出比須符合以下格式:
-
無解:
No match answer.
-
有一組解:
*n1 *n5
-
多組解:
*n1 *n5
*n2 *n4
Note:
-
輸出的最後必須要有一個換行符號 ("\n")
-
若有解,輸出數字間以一個空格隔開
-
若為多組解,每組解之間的輸出順序由每組解中較小的數作為排序依據
e.g.
Input:
6
5
1 2 3 4 5
Output:
(o) 1 5
2 4
(x) 2 4
1 5
-
若有解,每組解內的輸出順序由每組解中較小的數作為排序依據
e.g.
Input:
6
5
1 2 3 4 5
Output:
(o) 1 5
2 4
(x) 5 1
4 2
-
若有解,且該解在輸入陣列numberArray中有重複出現,輸出只需輸出一次
e.g.
Sample1
Input:
6
5
3 3 3 3 3
Output:
3 3
Sample2
Input:
6
11
1 1 2 2 2 3 4 4 4 5 5
Output:
1 5
2 4
Sample Input Download
Sample Output Download
Tags
Discuss
Description
給定一個正整數(稱為 layers),表示欲輸出巴斯卡三角形的層數,請試著輸出反向的巴斯卡三角形(詳見Sample Output)。
Note:
巴斯卡三角形規律:每層第n項的值,可由上層的第n-1項與第n項相加所得,且每層起始與結束值皆為1
Input
一個正整數,*layers
Note:
1 <= *layers <= 10
Output
輸出必須符合以下格式:
e.g.
1 5 10 10 5 1
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
-
輸出的最後必須要有一個換行符號 (“\n”)
-
同行內每項輸出至左對齊
-
從第二行開始,每行都需要多縮排4個字元,再開始列印此三角形的元素(可參考上方範例)
-
同行內每項輸出共占4個字元(輸出的數字本身以及空格)
- 若輸出項目為個位數 => 個位數字(1個字元) + 3個空格(3個字元)
- 若輸出項目為十位數 => 十位數字(2個字元) + 2個空格(2個字元)
- 若輸出項目為百位數 => 百位數字(3個字元) + 1個空格(1個字元)
Sample Input Download
Sample Output Download
Tags
Discuss
Description
給定一個字串(稱為 Str),請試著將 Str 內大小寫英文字母(a~z A~Z)和數字(0~9)以外的字元排除(詳見Note.3, 4, 5),並按照字母順序排列(詳見Note.1, 2)後輸出。
Hint:
-
排除大小寫英文字母和數字外的陣列結尾加上('\0')
Note:
-
排列規則說明:數字在前,字母在後(按字母順序排列 alphabetical order)
e.g.
(o) Bd3aE2c1 => 123aBcdE
(x) Bd3aE2c1 => 123BEacd
(x) Bd3aE2c1 => 123acdBE
-
若出現大小寫不同的相同字母,大寫排前,小寫排後
e.g. aABb => AaBb
-
若字串皆為需排除的字元(大小寫英文字母 a~z A~Z、數字 0~9 以外字元),則輸出空字串
-
補充說明:需排除字元包括(~ ` ! @ # $ % ^ & * ( ) _ - + = { } [ ] \ | : ; ‘ “ < > , . / ? 空白字元)
- 補充說明:特別注意空白字元也為需排除的字元
Input
一個字串 *Str
Note:
-
*Str 長度不超過20(最多可容納20個字元)
- 字串 *Str 內可能包含空白字元(Hint: input 用 gets() 實作)
Output
輸出比須符合以下格式:
*result
Note:
-
輸出的最後必須要有一個換行符號 (“\n”)
-
若*result為空字串,規則同Note.1,在結尾必須有一個換行符號(“\n”)