新生題目集


1. Hello World (5 分)

這道超級簡單的題目沒有任何輸入。

你只需要在一行中輸出著名短句“Hello World!”就可以了。

輸入樣例:

輸出樣例:

Hello World!

2. 計算攝氏溫度 (5 分)

給定一個華氏溫度F,本題要求編寫程序,計算對應的攝氏溫度C。計算公式:2。題目保證輸入與輸出均在整型范圍內。

輸入格式:

輸入在一行中給出一個華氏溫度。

輸出格式:

在一行中按照格式“Celsius = C”輸出對應的攝氏溫度C的整數值。

輸入樣例:

150

輸出樣例:

Celsius = 65

3. A-B (20 分)

本題要求你計算AB。不過麻煩的是,A和B都是字符串 —— 即從字符串A中把字符串B所包含的字符全刪掉,剩下的字符組成的就是字符串AB。

輸入格式:

輸入在2行中先后給出字符串A和B。兩字符串的長度都不超過1,並且保證每個字符串都是由可見的ASCII碼和空白字符組成,最后以換行符結束。

輸出格式:

在一行中打印出AB的結果字符串。

輸入樣例:

I love GPLT!  It's a fun game!
aeiou

輸出樣例:

I lv GPLT!  It's  fn gm!

4. 打印沙漏 (20 分)

本題要求你寫個程序把給定的符號打印成沙漏的形狀。例如給定17個“*”,要求按下列格式打印

*****
 ***
  *
 ***
*****

所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉盡可能多的符號。

輸入格式:

輸入在一行給出1個正整數N(≤1000)和一個符號,中間以空格分隔。

輸出格式:

首先打印出由給定符號組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號數。

輸入樣例:

19 *

輸出樣例:

*****
 ***
  *
 ***
*****
2

5. 計算階乘和 (10 分)

對於給定的正整數N,需要你計算 !。

輸入格式:

輸入在一行中給出一個不超過10的正整數N。

輸出格式:

在一行中輸出S的值。

輸入樣例:

3

輸出樣例:

9

6. 大笨鍾 (10 分)

微博上有個自稱“大笨鍾V”的家伙,每天敲鍾催促碼農們愛惜身體早點睡覺。不過由於笨鍾自己作息也不是很規律,所以敲鍾並不定時。一般敲鍾的點數是根據敲鍾時間而定的,如果正好在某個整點敲,那么“當”數就等於那個整點數;如果過了整點,就敲下一個整點數。另外,雖然一天有24小時,鍾卻是只在后半天敲1~12下。例如在23:00敲鍾,就是“當當當當當當當當當當當”,而到了23:01就會是“當當當當當當當當當當當當”。在午夜00:00到中午12:00期間(端點時間包括在內),笨鍾是不敲的。

下面就請你寫個程序,根據當前時間替大笨鍾敲鍾。

輸入格式:

輸入第一行按照hh:mm的格式給出當前時間。其中hh是小時,在00到23之間;mm是分鍾,在00到59之間。

輸出格式:

根據當前時間替大笨鍾敲鍾,即在一行中輸出相應數量個Dang。如果不是敲鍾期,則輸出:

Only hh:mm.  Too early to Dang.

其中hh:mm是輸入的時間。

輸入樣例1:

19:05

輸出樣例1:

DangDangDangDangDangDangDangDang

輸入樣例2:

07:05

輸出樣例2:

Only 07:05.  Too early to Dang.

7. 尋找250 (10 分)

對方不想和你說話,並向你扔了一串數…… 而你必須從這一串數字中找到“250”這個高大上的感人數字。

輸入格式:

輸入在一行中給出不知道多少個絕對值不超過1000的整數,其中保證至少存在一個“250”。

輸出格式:

在一行中輸出第一次出現的“250”是對方扔過來的第幾個數字(計數從1開始)。題目保證輸出的數字在整型范圍內。

輸入樣例:

888 666 123 -233 250 13 250 -222

輸出樣例:

5

8. 整除光棍 (20 分)

這里所謂的“光棍”,並不是指單身汪啦~ 說的是全部由1組成的數字,比如1、11、111、1111等。傳說任何一個光棍都能被一個不以5結尾的奇數整除。比如,111111就可以被13整除。 現在,你的程序要讀入一個整數x,這個整數一定是奇數並且不以5結尾。然后,經過計算,輸出兩個數字:第一個數字s,表示x乘以s是一個光棍,第二個數字n是這個光棍的位數。這樣的解當然不是唯一的,題目要求你輸出最小的解。

提示:一個顯然的辦法是逐漸增加光棍的位數,直到可以整除x為止。但難點在於,s可能是個非常大的數 —— 比如,程序輸入31,那么就輸出3584229390681和15,因為31乘以3584229390681的結果是111111111111111,一共15個1。

輸入格式:

輸入在一行中給出一個不以5結尾的正奇數x<)。

輸出格式:

在一行中輸出相應的最小的sn,其間以1個空格分隔。

輸入樣例:

31

輸出樣例:

3584229390681 15

9. 打折 (5 分)

去商場淘打折商品時,計算打折以后的價錢是件頗費腦子的事情。例如原價 ¥988,標明打 7 折,則折扣價應該是 ¥988 x 70% = ¥691.60。本題就請你寫個程序替客戶計算折扣價。

輸入格式:

輸入在一行中給出商品的原價(不超過1萬元的正整數)和折扣(為[1, 9]區間內的整數),其間以空格分隔。

輸出格式:

在一行中輸出商品的折扣價,保留小數點后 2 位。

輸入樣例:

988 7

輸出樣例:

691.60

10. 矩陣A乘以B (15 分)

給定兩個矩陣A和B,要求你計算它們的乘積矩陣AB。需要注意的是,只有規模匹配的矩陣才可以相乘。即若A有Ra​​行、Ca​​列,B有Rb​​行、Cb​​列,則只有Ca​​與Rb​​相等時,兩個矩陣才能相乘。

輸入格式:

輸入先后給出兩個矩陣A和B。對於每個矩陣,首先在一行中給出其行數R和列數C,隨后R行,每行給出C個整數,以1個空格分隔,且行首尾沒有多余的空格。輸入保證兩個矩陣的R和C都是正數,並且所有整數的絕對值不超過100。

輸出格式:

若輸入的兩個矩陣的規模是匹配的,則按照輸入的格式輸出乘積矩陣AB,否則輸出Error: Ca != Rb,其中CaA的列數,RbB的行數。

輸入樣例1:

2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8

輸出樣例1:

2 4
20 22 24 16
53 58 63 28

輸入樣例2:

3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72

輸出樣例2:

Error: 2 != 3

11. 到底有多二 (15 分)

一個整數“犯二的程度”定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍;如果還是個偶數,則再增加1倍。例如數字-13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為:3,約為81.82%。本題就請你計算一個給定整數到底有多二。

輸入格式:

輸入第一行給出一個不超過50位的整數N

輸出格式:

在一行中輸出N犯二的程度,保留小數點后兩位。

輸入樣例:

-13142223336

輸出樣例:

81.82%

12. 新世界 (5 分)

這道超級簡單的題目沒有任何輸入。

你只需要在第一行中輸出程序員欽定名言“Hello World”,並且在第二行中輸出更新版的“Hello New World”就可以了。

輸入樣例:

輸出樣例:

Hello World
Hello New World

13. 計算階乘和 (10 分)

對於給定的正整數N,需要你計算 !。

輸入格式:

輸入在一行中給出一個不超過10的正整數N。

輸出格式:

在一行中輸出S的值。

輸入樣例:

3

輸出樣例:

9

14. 跟奧巴馬一起畫方塊 (15 分)

美國總統奧巴馬不僅呼吁所有人都學習編程,甚至以身作則編寫代碼,成為美國歷史上首位編寫計算機代碼的總統。2014年底,為慶祝“計算機科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。現在你也跟他一起畫吧!

輸入格式:

輸入在一行中給出正方形邊長N(3)和組成正方形邊的某種字符C,間隔一個空格。

輸出格式:

輸出由給定字符C畫出的正方形。但是注意到行間距比列間距大,所以為了讓結果看上去更像正方形,我們輸出的行數實際上是列數的50%(四舍五入取整)。

輸入樣例:

10 a

輸出樣例:

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

15. 判斷素數 (10 分)

本題的目標很簡單,就是判斷一個給定的正整數是否素數。

輸入格式:

輸入在第一行給出一個正整數N≤ 10),隨后N行,每行給出一個小於231​​的需要判斷的正整數。

輸出格式:

對每個需要判斷的正整數,如果它是素數,則在一行中輸出Yes,否則輸出No

輸入樣例:

2
11
111

輸出樣例:

Yes
No

16. 個位數統計 (15 分)

給定一個 k 位整數 1 (0, ,, dk1​​>0),請編寫程序統計每種不同的個位數字出現的次數。例如:給定 0,則有 2 個 0,3 個 1,和 1 個 3。

輸入格式:

每個輸入包含 1 個測試用例,即一個不超過 1000 位的正整數 N。

輸出格式:

對 N 中每一種不同的個位數字,以 D:M 的格式在一行中輸出該位數字 D 及其在 N 中出現的次數 M。要求按 D 的升序輸出。

輸入樣例:

100311

輸出樣例:

0:2
1:3
3:1

17. 出租 (20 分)

下面是新浪微博上曾經很火的一張圖:

一時間網上一片求救聲,急問這個怎么破。其實這段代碼很簡單,index數組就是arr數組的下標,index[0]=2 對應 arr[2]=1index[1]=0 對應 arr[0]=8index[2]=3 對應 arr[3]=0,以此類推…… 很容易得到電話號碼是18013820100

本題要求你編寫一個程序,為任何一個電話號碼生成這段代碼 —— 事實上,只要生成最前面兩行就可以了,后面內容是不變的。

輸入格式:

輸入在一行中給出一個由11位數字組成的手機號碼。

輸出格式:

為輸入的號碼生成代碼的前兩行,其中arr中的數字必須按遞減順序給出。

輸入樣例:

18013820100

輸出樣例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

18. 出生年 (15 分)

以上是新浪微博中一奇葩貼:“我出生於1988年,直到25歲才遇到4個數字都不相同的年份。”也就是說,直到2013年才達到“4個數字都不相同”的要求。本題請你根據要求,自動填充“我出生於y年,直到x歲才遇到n個數字都不相同的年份”這句話。

輸入格式:

輸入在一行中給出出生年份y和目標年份中不同數字的個數n,其中y在[1, 3000]之間,n可以是2、或3、或4。注意不足4位的年份要在前面補零,例如公元1年被認為是0001年,有2個不同的數字0和1。

輸出格式:

根據輸入,輸出x和能達到要求的年份。數字間以1個空格分隔,行首尾不得有多余空格。年份要按4位輸出。注意:所謂“n個數字都不相同”是指不同的數字正好是n個。如“2013”被視為滿足“4位數字都不同”的條件,但不被視為滿足2位或3位數字不同的條件。

輸入樣例1:

1988 4

輸出樣例1:

25 2013

輸入樣例2:

1 2

輸出樣例2:

0 0001

20. 誰是贏家 (10 分)

某電視台的娛樂節目有個表演評審環節,每次安排兩位藝人表演,他們的勝負由觀眾投票和 3 名評委投票兩部分共同決定。規則為:如果一位藝人的觀眾票數高,且得到至少 1 名評委的認可,該藝人就勝出;或藝人的觀眾票數低,但得到全部評委的認可,也可以勝出。節目保證投票的觀眾人數為奇數,所以不存在平票的情況。本題就請你用程序判斷誰是贏家。

輸入格式:

輸入第一行給出 2 個不超過 1000 的正整數 Pa 和 Pb,分別是藝人 a 和藝人 b 得到的觀眾票數。題目保證這兩個數字不相等。隨后第二行給出 3 名評委的投票結果。數字 0 代表投票給 a,數字 1 代表投票給 b,其間以一個空格分隔。

輸出格式:

按以下格式輸出贏家:

The winner is x: P1 + P2

其中 x 是代表贏家的字母,P1 是贏家得到的觀眾票數,P2 是贏家得到的評委票數。

輸入樣例:

327 129
1 0 1

輸出樣例:

The winner is a: 327 + 1
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM