PTA|團體程序設計天梯賽-練習題目題解錦集(持續更新中)
實現語言:C/C++; 歡迎各位看官交流討論、指導題解錯誤;或者分享更快的方法!!
題目鏈接:https://pintia.cn/problem-sets/994805046380707840/problems
目錄
(點擊對應題目即可進入相應題解……小聲BB……)
L1-001 Hello World (5 分)
這道超級簡單的題目沒有任何輸入。
你只需要在一行中輸出著名短句“Hello World!”就可以了。
輸入樣例:
輸出樣例:
題目代碼:
L1-002 打印沙漏 (20 分)
本題要求你寫個程序把給定的符號打印成沙漏的形狀。例如給定17個“*”,要求按下列格式打印
所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉盡可能多的符號。
輸入格式:
輸入在一行給出1個正整數N(≤1000)和一個符號,中間以空格分隔。
輸出格式:
首先打印出由給定符號組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號數。
輸入樣例:
輸出樣例:
題目代碼:
L1-003 個位數統計 (15 分)
給定一個 k 位整數 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),請編寫程序統計每種不同的個位數字出現的次數。例如:給定 N=100311,則有 2 個 0,3 個 1,和 1 個 3。
輸入格式:
每個輸入包含 1 個測試用例,即一個不超過 1000 位的正整數 N。
輸出格式:
對 N 中每一種不同的個位數字,以 D:M 的格式在一行中輸出該位數字 D 及其在 N 中出現的次數 M。要求按 D 的升序輸出。
輸入樣例:
輸出樣例:
題目代碼:
L1-004 計算攝氏溫度 (5 分)
給定一個華氏溫度F,本題要求編寫程序,計算對應的攝氏溫度C。計算公式:C=5×(F−32)/9。題目保證輸入與輸出均在整型范圍內。
輸入格式:
輸入在一行中給出一個華氏溫度。
輸出格式:
在一行中按照格式“Celsius = C”輸出對應的攝氏溫度C的整數值。
輸入樣例:
輸出樣例:
題目代碼:
L1-005 考試座位號 (15 分)
每個 PAT 考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態后,系統會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿着領到的試機座位號碼求助於你,從后台查出他們的考試座位號碼。
輸入格式:
輸入第一行給出一個正整數 N(≤1000),隨后 N 行,每行給出一個考生的信息:准考證號 試機座位號 考試座位號。其中准考證號由 14 位數字組成,座位從 1 到 N 編號。輸入保證每個人的准考證號都不同,並且任何時候都不會把兩個人分配到同一個座位上。
考生信息之后,給出一個正整數 M(≤N),隨后一行中給出 M 個待查詢的試機座位號碼,以空格分隔。
輸出格式:
對應每個需要查詢的試機座位號碼,在一行中輸出對應考生的准考證號和考試座位號碼,中間用 1 個空格分隔。
輸入樣例:
輸出樣例:
題目代碼:
L1-006 連續因子 (20 分)
一個正整數 N 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 N,要求編寫程序求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出一個正整數 N(1<N<231)。
輸出格式:
首先在第 1 行輸出最長連續因子的個數;然后在第 2 行中按 因子1*因子2*……*因子k 的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
輸入樣例:
輸出樣例:
題目代碼 :
L1-007 念數字 (10 分)
輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出fu字。十個數字對應的拼音如下:
輸入格式:
輸入在一行中給出一個整數,如:1234。
提示:整數包括負數、零和正數。
輸出格式:
在一行中輸出這個整數對應的拼音,每個數字的拼音之間用空格分開,行末沒有最后的空格。如 yi er san si。
輸入樣例:
輸出樣例:
題目代碼:
L1-008 求整數段和 (10 分)
給定兩個整數A和B,輸出從A到B的所有整數以及這些數的和。
輸入格式:
輸入在一行中給出2個整數A和B,其中−100≤A≤B≤100,其間以空格分隔。
輸出格式:
首先順序輸出從A到B的所有整數,每5個數字占一行,每個數字占5個字符寬度,向右對齊。最后在一行中按Sum = X的格式輸出全部數字的和X。
輸入樣例:
輸出樣例:
題目代碼 :
L1-009 N個數求和 (20 分)
本題的要求很簡單,就是求N個數字的和。麻煩的是,這些數字是以有理數分子/分母的形式給出的,你輸出的和也必須是有理數的形式。
輸入格式:
輸入第一行給出一個正整數N(≤100)。隨后一行按格式a1/b1 a2/b2 ...給出N個有理數。題目保證所有分子和分母都在長整型范圍內。另外,負數的符號一定出現在分子前面。
輸出格式:
輸出上述數字和的最簡形式 —— 即將結果寫成整數部分 分數部分,其中分數部分寫成分子/分母,要求分子小於分母,且它們沒有公因子。如果結果的整數部分為0,則只輸出分數部分。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
輸入樣例3:
輸出樣例3:
題目代碼:
L1-010 比較大小 (10 分)
本題要求將輸入的任意3個整數從小到大輸出。
輸入格式:
輸入在一行中給出3個整數,其間以空格分隔。
輸出格式:
在一行中將3個整數從小到大輸出,其間以“->”相連。
輸入樣例:
輸出樣例:
題目代碼:
L1-011 A-B (20 分)
本題要求你計算A−B。不過麻煩的是,A和B都是字符串 —— 即從字符串A中把字符串B所包含的字符全刪掉,剩下的字符組成的就是字符串A−B。
輸入格式:
輸入在2行中先后給出字符串A和B。兩字符串的長度都不超過104,並且保證每個字符串都是由可見的ASCII碼和空白字符組成,最后以換行符結束。
輸出格式:
在一行中打印出A−B的結果字符串。
輸入樣例:
輸出樣例:
題目代碼:
L1-012 計算指數 (5 分)
真的沒騙你,這道才是簡單題 —— 對任意給定的不超過 10 的正整數 n,要求你輸出 2n。不難吧?
輸入格式:
輸入在一行中給出一個不超過 10 的正整數 n。
輸出格式:
在一行中按照格式 2^n = 計算結果 輸出 2n 的值。
輸入樣例:
輸出樣例:
題目代碼:
L1-013 計算階乘和 (10 分)
對於給定的正整數N,需要你計算 S=1!+2!+3!+...+N!。
輸入格式:
輸入在一行中給出一個不超過10的正整數N。
輸出格式:
在一行中輸出S的值。
輸入樣例:
輸出樣例:
題目代碼:
L1-014 簡單題 (5 分)
這次真的沒騙你 —— 這道超級簡單的題目沒有任何輸入。
你只需要在一行中輸出事實:This is a simple problem. 就可以了。
輸入樣例:
輸出樣例:
題目代碼:
L1-015 跟奧巴馬一起畫方塊 (15 分)
美國總統奧巴馬不僅呼吁所有人都學習編程,甚至以身作則編寫代碼,成為美國歷史上首位編寫計算機代碼的總統。2014年底,為慶祝“計算機科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。現在你也跟他一起畫吧!
輸入格式:
輸入在一行中給出正方形邊長N(3≤N≤21)和組成正方形邊的某種字符C,間隔一個空格。
輸出格式:
輸出由給定字符C畫出的正方形。但是注意到行間距比列間距大,所以為了讓結果看上去更像正方形,我們輸出的行數實際上是列數的50%(四舍五入取整)。
輸入樣例:
輸出樣例:
題目代碼:
L1-016 查驗身份證 (15 分)
一個合法的身份證號碼由17位地區、日期編號和順序編號加1位校驗碼組成。校驗碼的計算規則如下:
首先對前17位數字加權求和,權重分配為:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后將計算的和對11取模得到值Z;最后按照以下關系對應Z值與校驗碼M的值:
現在給定一些身份證號碼,請你驗證校驗碼的有效性,並輸出有問題的號碼。
輸入格式:
輸入第一行給出正整數N(≤100)是輸入的身份證號碼的個數。隨后N行,每行給出1個18位身份證號碼。
輸出格式:
按照輸入的順序每行輸出1個有問題的身份證號碼。這里並不檢驗前17位是否合理,只檢查前17位是否全為數字且最后1位校驗碼計算准確。如果所有號碼都正常,則輸出All passed。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-017 到底有多二 (15 分)
一個整數“犯二的程度”定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍;如果還是個偶數,則再增加1倍。例如數字-13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為:3/11×1.5×2×100%,約為81.82%。本題就請你計算一個給定整數到底有多二。
輸入格式:
輸入第一行給出一個不超過50位的整數N。
輸出格式:
在一行中輸出N犯二的程度,保留小數點后兩位。
輸入樣例:
輸出樣例:
題目代碼:
L1-018 大笨鍾 (10 分)
微博上有個自稱“大笨鍾V”的家伙,每天敲鍾催促碼農們愛惜身體早點睡覺。不過由於笨鍾自己作息也不是很規律,所以敲鍾並不定時。一般敲鍾的點數是根據敲鍾時間而定的,如果正好在某個整點敲,那么“當”數就等於那個整點數;如果過了整點,就敲下一個整點數。另外,雖然一天有24小時,鍾卻是只在后半天敲1~12下。例如在23:00敲鍾,就是“當當當當當當當當當當當”,而到了23:01就會是“當當當當當當當當當當當當”。在午夜00:00到中午12:00期間(端點時間包括在內),笨鍾是不敲的。
下面就請你寫個程序,根據當前時間替大笨鍾敲鍾。
輸入格式:
輸入第一行按照hh:mm的格式給出當前時間。其中hh是小時,在00到23之間;mm是分鍾,在00到59之間。
輸出格式:
根據當前時間替大笨鍾敲鍾,即在一行中輸出相應數量個Dang。如果不是敲鍾期,則輸出:
其中hh:mm是輸入的時間。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-019 誰先倒 (15 分)
划拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人划拳的方法為:每人口中喊出一個數字,同時用手比划出一個數字。如果誰比划出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和划拳記錄,請你判斷兩個人誰先倒。
輸入格式:
輸入第一行先后給出甲、乙兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N(≤100),隨后N行,每行給出一輪划拳的記錄,格式為:
其中喊是喊出的數字,划是划出的數字,均為不超過100的正整數(兩只手一起划)。
輸出格式:
在第一行中輸出先倒下的那個人:A代表甲,B代表乙。第二行中輸出沒倒的那個人喝了多少杯。題目保證有一個人倒下。注意程序處理到有人倒下就終止,后面的數據不必處理。
輸入樣例:
輸出樣例:
題目代碼:
L1-020 帥到沒朋友 (20 分)
當芸芸眾生忙着在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。
輸入格式:
輸入第一行給出一個正整數N(≤100),是已知朋友圈的個數;隨后N行,每行首先給出一個正整數K(≤1000),為朋友圈中的人數,然后列出一個朋友圈內的所有人——為方便起見,每人對應一個ID號,為5位數字(從00000到99999),ID間以空格分隔;之后給出一個正整數M(≤10000),為待查詢的人數;隨后一行中列出M個待查詢的ID,以空格分隔。
注意:沒有朋友的人可以是根本沒安裝“朋友圈”,也可以是只有自己一個人在朋友圈的人。雖然有個別自戀狂會自己把自己反復加進朋友圈,但題目保證所有K超過1的朋友圈里都至少有2個不同的人。
輸出格式:
按輸入的順序輸出那些帥到沒朋友的人。ID間用1個空格分隔,行的首尾不得有多余空格。如果沒有人太帥,則輸出No one is handsome。
注意:同一個人可以被查詢多次,但只輸出一次。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-021 重要的話說三遍 (5 分)
這道超級簡單的題目沒有任何輸入。
你只需要把這句很重要的話 —— “I'm gonna WIN!”——連續輸出三遍就可以了。
注意每遍占一行,除了每行的回車不能有任何多余字符。
輸入樣例:
輸出樣例:
題目代碼:
L1-022 奇偶分家 (10 分)
給定N個正整數,請統計奇數和偶數各有多少個?
輸入格式:
輸入第一行給出一個正整N(≤1000);第2行給出N個正整數,以空格分隔。
輸出格式:
在一行中先后輸出奇數的個數、偶數的個數。中間以1個空格分隔。
輸入樣例:
輸出樣例:
題目代碼:
L1-023 輸出GPLT (20 分)
給定一個長度不超過10000的、僅由英文字母構成的字符串。請將字符重新調整順序,按GPLTGPLT....這樣的順序輸出,並忽略其它字符。當然,四種字符(不區分大小寫)的個數不一定是一樣多的,若某種字符已經輸出完,則余下的字符仍按GPLT的順序打印,直到所有字符都被輸出。
輸入格式:
輸入在一行中給出一個長度不超過10000的、僅由英文字母構成的非空字符串。
輸出格式:
在一行中按題目要求輸出排序后的字符串。題目保證輸出非空。
輸入樣例:
輸出樣例:
題目代碼:
L1-024 后天 (5 分)
如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我們用數字1到7對應星期一到星期日。給定某一天,請你輸出那天的“后天”是星期幾。
輸入格式:
輸入第一行給出一個正整數D(1 ≤ D ≤ 7),代表星期里的某一天。
輸出格式:
在一行中輸出D天的后天是星期幾。
輸入樣例:
輸出樣例:
題目代碼:
L1-025 正整數A+B (15 分)
題的目標很簡單,就是求兩個正整數A和B的和,其中A和B都在區間[1,1000]。稍微有點麻煩的是,輸入並不保證是兩個正整數。
輸入格式:
輸入在一行給出A和B,其間以空格分開。問題是A和B不一定是滿足要求的正整數,有時候可能是超出范圍的數字、負數、帶小數點的實數、甚至是一堆亂碼。
注意:我們把輸入中出現的第1個空格認為是A和B的分隔。題目保證至少存在一個空格,並且B不是一個空字符串。
輸出格式:
如果輸入的確是兩個正整數,則按格式A + B = 和輸出。如果某個輸入不合要求,則在相應位置輸出?,顯然此時和也是?。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
輸入樣例3:
輸出樣例3:
題目代碼:
L1-026 I Love GPLT (5 分)
這道超級簡單的題目沒有任何輸入。
你只需要把這句很重要的話 —— “I Love GPLT”——豎着輸出就可以了。
所謂“豎着輸出”,是指每個字符占一行(包括空格),即每行只能有1個字符和回車。
輸入樣例:
輸出樣例:
題目代碼:
L1-027 出租 (20 分)
下面是新浪微博上曾經很火的一張圖:
一時間網上一片求救聲,急問這個怎么破。其實這段代碼很簡單,index數組就是arr數組的下標,index[0]=2 對應 arr[2]=1,index[1]=0 對應 arr[0]=8,index[2]=3 對應 arr[3]=0,以此類推…… 很容易得到電話號碼是18013820100。
本題要求你編寫一個程序,為任何一個電話號碼生成這段代碼 —— 事實上,只要生成最前面兩行就可以了,后面內容是不變的。
輸入格式:
輸入在一行中給出一個由11位數字組成的手機號碼。
輸出格式:
為輸入的號碼生成代碼的前兩行,其中arr中的數字必須按遞減順序給出。
輸入樣例:
輸出樣例:
題目代碼:
L1-028 判斷素數 (10 分)
本題的目標很簡單,就是判斷一個給定的正整數是否素數。
輸入格式:
輸入在第一行給出一個正整數N(≤ 10),隨后N行,每行給出一個小於231的需要判斷的正整數。
輸出格式:
對每個需要判斷的正整數,如果它是素數,則在一行中輸出Yes,否則輸出No。
輸入樣例:
輸出樣例:
題目代碼:
L1-029 是不是太胖了 (5 分)
據說一個人的標准體重應該是其身高(單位:厘米)減去100、再乘以0.9所得到的公斤數。已知市斤是公斤的兩倍。現給定某人身高,請你計算其標准體重應該是多少?(順便也悄悄給自己算一下吧……)
輸入格式:
輸入第一行給出一個正整數H(100 < H ≤ 300),為某人身高。
輸出格式:
在一行中輸出對應的標准體重,單位為市斤,保留小數點后1位。
輸入樣例:
輸出樣例:
題目代碼:
L1-030 一幫一 (15 分)
“一幫一學習小組”是中小學中常見的學習組織方式,老師把學習成績靠前的學生跟學習成績靠后的學生排在一組。本題就請你編寫程序幫助老師自動完成這個分配工作,即在得到全班學生的排名后,在當前尚未分組的學生中,將名次最靠前的學生與名次最靠后的異性學生分為一組。
輸入格式:
輸入第一行給出正偶數N(≤50),即全班學生的人數。此后N行,按照名次從高到低的順序給出每個學生的性別(0代表女生,1代表男生)和姓名(不超過8個英文字母的非空字符串),其間以1個空格分隔。這里保證本班男女比例是1:1,並且沒有並列名次。
輸出格式:
每行輸出一組兩個學生的姓名,其間以1個空格分隔。名次高的學生在前,名次低的學生在后。小組的輸出順序按照前面學生的名次從高到低排列。
輸入樣例:
輸出樣例:
題目代碼:
L1-031 到底是不是太胖了 (10 分)
據說一個人的標准體重應該是其身高(單位:厘米)減去100、再乘以0.9所得到的公斤數。真實體重與標准體重誤差在10%以內都是完美身材(即 | 真實體重 − 標准體重 | < 標准體重×10%)。已知市斤是公斤的兩倍。現給定一群人的身高和實際體重,請你告訴他們是否太胖或太瘦了。
輸入格式:
輸入第一行給出一個正整數N(≤ 20)。隨后N行,每行給出兩個整數,分別是一個人的身高H(120 < H < 200;單位:厘米)和真實體重W(50 < W ≤ 300;單位:市斤),其間以空格分隔。
輸出格式:
為每個人輸出一行結論:如果是完美身材,輸出You are wan mei!;如果太胖了,輸出You are tai pang le!;否則輸出You are tai shou le!。
輸入樣例:
輸出樣例:
題目代碼:
L1-032 Left-pad (20 分)
根據新浪微博上的消息,有一位開發者不滿NPM(Node Package Manager)的做法,收回了自己的開源代碼,其中包括一個叫left-pad的模塊,就是這個模塊把javascript里面的React/Babel干癱瘓了。這是個什么樣的模塊?就是在字符串前填充一些東西到一定的長度。例如用*去填充字符串GPLT,使之長度為10,調用left-pad的結果就應該是******GPLT。Node社區曾經對left-pad緊急發布了一個替代,被嚴重吐槽。下面就請你來實現一下這個模塊。
輸入格式:
輸入在第一行給出一個正整數N(≤104)和一個字符,分別是填充結果字符串的長度和用於填充的字符,中間以1個空格分開。第二行給出原始的非空字符串,以回車結束。
輸出格式:
在一行中輸出結果字符串。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-033 出生年 (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:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-034 點贊 (20 分)
微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支持。每篇博文都有一些刻畫其特性的標簽,而你點贊的博文的類型,也間接刻畫了你的特性。本題就要求你寫個程序,通過統計一個人點贊的紀錄,分析這個人的特性。
輸入格式:
輸入在第一行給出一個正整數N(≤1000),是該用戶點贊的博文數量。隨后N行,每行給出一篇被其點贊的博文的特性描述,格式為“K F1⋯FK”,其中1≤K≤10,Fi(i=1,⋯,K)是特性標簽的編號,我們將所有特性標簽從1到1000編號。數字間以空格分隔。
輸出格式:
統計所有被點贊的博文中最常出現的那個特性標簽,在一行中輸出它的編號和出現次數,數字間隔1個空格。如果有並列,則輸出編號最大的那個。
輸入樣例:
輸出樣例:
題目代碼:
L1-035 情人節 (15 分)
以上是朋友圈中一奇葩貼:“2月14情人節了,我決定造福大家。第2個贊和第14個贊的,我介紹你倆認識…………咱三吃飯…你倆請…”。現給出此貼下點贊的朋友名單,請你找出那兩位要請客的倒霉蛋。
輸入格式:
輸入按照點贊的先后順序給出不知道多少個點贊的人名,每個人名占一行,為不超過10個英文字母的非空單詞,以回車結束。一個英文句點.標志輸入的結束,這個符號不算在點贊名單里。
輸出格式:
根據點贊情況在一行中輸出結論:若存在第2個人A和第14個人B,則輸出“A and B are inviting you to dinner...”;若只有A沒有B,則輸出“A is the only one for you...”;若連A都沒有,則輸出“Momo... No one is for you ...”。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
輸入樣例3:
輸出樣例3:
題目代碼:
L1-036 A乘以B (5 分)
看我沒騙你吧 —— 這是一道你可以在 10 秒內完成的題:給定兩個絕對值不超過 100 的整數 A 和 B,輸出 A 乘以 B 的值。
輸入格式:
輸入在第一行給出兩個整數 A 和 B(−100≤A,B≤100),數字間以空格分隔。
輸出格式:
在一行中輸出 A 乘以 B 的值。
輸入樣例:
輸出樣例:
題目代碼:
L1-037 A除以B (10 分)
真的是簡單題哈 —— 給定兩個絕對值不超過100的整數A和B,要求你按照“A/B=商”的格式輸出結果。
輸入格式:
輸入在第一行給出兩個整數A和B(−100≤A,B≤100),數字間以空格分隔。
輸出格式:
在一行中輸出結果:如果分母是正數,則輸出“A/B=商”;如果分母是負數,則要用括號把分母括起來輸出;如果分母為零,則輸出的商應為Error。輸出的商應保留小數點后2位。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
輸入樣例3:
輸出樣例3:
題目代碼:
L1-038 新世界 (5 分)
這道超級簡單的題目沒有任何輸入。
你只需要在第一行中輸出程序員欽定名言“Hello World”,並且在第二行中輸出更新版的“Hello New World”就可以了。
輸入樣例:
輸出樣例:
題目代碼:
L1-039 古風排版 (20 分)
中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程序,把一段文字按古風排版。
輸入格式:
輸入在第一行給出一個正整數N(<100),是每一列的字符數。第二行給出一個長度不超過1000的非空字符串,以回車結束。
輸出格式:
按古風格式排版給定的字符串,每列N個字符(除了最后一列可能不足N個)。
輸入樣例:
輸出樣例:
題目代碼:
L1-040 最佳情侶身高差 (10 分)
專家通過多組情侶研究數據發現,最佳的情侶身高差遵循着一個公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你倆的身高差不管是牽手、擁抱、接吻,都是最和諧的差度。
下面就請你寫個程序,為任意一位用戶計算他/她的情侶的最佳身高。
輸入格式:
輸入第一行給出正整數N(≤10),為前來查詢的用戶數。隨后N行,每行按照“性別 身高”的格式給出前來查詢的用戶的性別和身高,其中“性別”為“F”表示女性、“M”表示男性;“身高”為區間 [1.0, 3.0] 之間的實數。
輸出格式:
對每一個查詢,在一行中為該用戶計算出其情侶的最佳身高,保留小數點后2位。
輸入樣例:
輸出樣例:
題目代碼:
L1-041 尋找250 (10 分)
對方不想和你說話,並向你扔了一串數…… 而你必須從這一串數字中找到“250”這個高大上的感人數字。
輸入格式:
輸入在一行中給出不知道多少個絕對值不超過1000的整數,其中保證至少存在一個“250”。
輸出格式:
在一行中輸出第一次出現的“250”是對方扔過來的第幾個數字(計數從1開始)。題目保證輸出的數字在整型范圍內。
輸入樣例:
輸出樣例:
題目代碼:
L1-042 日期格式化 (5 分)
世界上不同國家有不同的寫日期的習慣。比如美國人習慣寫成“月-日-年”,而中國人習慣寫成“年-月-日”。下面請你寫個程序,自動把讀入的美國格式的日期改寫成中國習慣的日期。
輸入格式:
輸入在一行中按照“mm-dd-yyyy”的格式給出月、日、年。題目保證給出的日期是1900年元旦至今合法的日期。
輸出格式:
在一行中按照“yyyy-mm-dd”的格式給出年、月、日。
輸入樣例:
輸出樣例:
題目代碼:
L1-043 閱覽室 (20 分)
天梯圖書閱覽室請你編寫一個簡單的圖書借閱統計程序。當讀者借書時,管理員輸入書號並按下S鍵,程序開始計時;當讀者還書時,管理員輸入書號並按下E鍵,程序結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程序應輸出當天的讀者借書次數和平均閱讀時間。
注意:由於線路偶爾會有故障,可能出現不完整的紀錄,即只有S沒有E,或者只有E沒有S的紀錄,系統應能自動忽略這種無效紀錄。另外,題目保證書號是書的唯一標識,同一本書在任何時間區間內只可能被一位讀者借閱。
輸入格式:
輸入在第一行給出一個正整數N(≤10),隨后給出N天的紀錄。每天的紀錄由若干次借閱操作組成,每次操作占一行,格式為:
書號([1, 1000]內的整數) 鍵值(S或E) 發生時間(hh:mm,其中hh是[0,23]內的整數,mm是[0, 59]內整數)
每一天的紀錄保證按時間遞增的順序給出。
輸出格式:
對每天的紀錄,在一行中輸出當天的讀者借書次數和平均閱讀時間(以分鍾為單位的精確到個位的整數時間)。
輸入樣例:
輸出樣例:
題目代碼:
L1-044 穩贏 (15 分)
大家應該都會玩“錘子剪刀布”的游戲:兩人同時給出手勢,勝負規則如圖所示:
現要求你編寫一個穩贏不輸的程序,根據對方的出招,給出對應的贏招。但是!為了不讓對方輸得太慘,你需要每隔K次就讓一個平局。
輸入格式:
輸入首先在第一行給出正整數K(≤10),即平局間隔的次數。隨后每行給出對方的一次出招:ChuiZi代表“錘子”、JianDao代表“剪刀”、Bu代表“布”。End代表輸入結束,這一行不要作為出招處理。
輸出格式:
對每一個輸入的出招,按要求輸出穩贏或平局的招式。每招占一行。
輸入樣例:
輸出樣例:
題目代碼:
L1-045 宇宙無敵大招呼 (5 分)
據說所有程序員學習的第一個程序都是在屏幕上輸出一句“Hello World”,跟這個世界打個招呼。作為天梯賽中的程序員,你寫的程序得高級一點,要能跟任意指定的星球打招呼。
輸入格式:
輸入在第一行給出一個星球的名字S,是一個由不超過7個英文字母組成的單詞,以回車結束。
輸出格式:
在一行中輸出Hello S,跟輸入的S星球打個招呼。
輸入樣例:
輸出樣例:
題目代碼:
L1-046 整除光棍 (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(<1000)。
輸出格式:
在一行中輸出相應的最小的s和n,其間以1個空格分隔。
輸入樣例:
輸出樣例:
題目代碼:
L1-047 裝睡 (10 分)
你永遠叫不醒一個裝睡的人 —— 但是通過分析一個人的呼吸頻率和脈搏,你可以發現誰在裝睡!醫生告訴我們,正常人睡眠時的呼吸頻率是每分鍾15-20次,脈搏是每分鍾50-70次。下面給定一系列人的呼吸頻率與脈搏,請你找出他們中間有可能在裝睡的人,即至少一項指標不在正常范圍內的人。
輸入格式:
輸入在第一行給出一個正整數N(≤10)。隨后N行,每行給出一個人的名字(僅由英文字母組成的、長度不超過3個字符的串)、其呼吸頻率和脈搏(均為不超過100的正整數)。
輸出格式:
按照輸入順序檢查每個人,如果其至少一項指標不在正常范圍內,則輸出其名字,每個名字占一行。
輸入樣例:
輸出樣例:
題目代碼:
L1-048 矩陣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,其中Ca是A的列數,Rb是B的行數。
輸入樣例1:
輸出樣例1:
輸入樣例2:
輸出樣例2:
題目代碼:
L1-049 天梯賽座位分配 (20 分)
天梯賽每年有大量參賽隊員,要保證同一所學校的所有隊員都不能相鄰,分配座位就成為一件比較麻煩的事情。為此我們制定如下策略:假設某賽場有 N 所學校參賽,第 i 所學校有 M[i] 支隊伍,每隊 10 位參賽選手。令每校選手排成一列縱隊,第 i+1 隊的選手排在第 i 隊選手之后。從第 1 所學校開始,各校的第 1 位隊員順次入座,然后是各校的第 2 位隊員…… 以此類推。如果最后只剩下 1 所學校的隊伍還沒有分配座位,則需要安排他們的隊員隔位就坐。本題就要求你編寫程序,自動為各校生成隊員的座位號,從 1 開始編號。
輸入格式:
輸入在一行中給出參賽的高校數 N (不超過100的正整數);第二行給出 N 個不超過10的正整數,其中第 i 個數對應第 i 所高校的參賽隊伍數,數字間以空格分隔。
輸出格式:
從第 1 所高校的第 1 支隊伍開始,順次輸出隊員的座位號。每隊占一行,座位號間以 1 個空格分隔,行首尾不得有多余空格。另外,每所高校的第一行按“#X”輸出該校的編號X,從 1 開始。
輸入樣例:
輸出樣例:
題目代碼:
L1-050 倒數第N個字符串 (15 分)
給定一個完全由小寫英文字母組成的字符串等差遞增序列,該序列中的每個字符串的長度固定為 L,從 L 個 a 開始,以 1 為步長遞增。例如當 L 為 3 時,序列為 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。這個序列的倒數第27個字符串就是 zyz。對於任意給定的 L,本題要求你給出對應序列倒數第 N 個字符串。
輸入格式:
輸入在一行中給出兩個正整數 L(2 ≤ L ≤ 6)和 N(≤105)。
輸出格式:
在一行中輸出對應序列倒數第 N 個字符串。題目保證這個字符串是存在的。
輸入樣例:
輸出樣例:
題目代碼:
L1-051 打折 (5 分)
去商場淘打折商品時,計算打折以后的價錢是件頗費腦子的事情。例如原價 ¥988,標明打 7 折,則折扣價應該是 ¥988 x 70% = ¥691.60。本題就請你寫個程序替客戶計算折扣價。
輸入格式:
輸入在一行中給出商品的原價(不超過1萬元的正整數)和折扣(為[1, 9]區間內的整數),其間以空格分隔。
輸出格式:
在一行中輸出商品的折扣價,保留小數點后 2 位。
輸入樣例:
輸出樣例:
題目代碼:
L1-052 2018我們要贏 (5 分)
2018年天梯賽的注冊邀請碼是“2018wmyy”,意思就是“2018我們要贏”。本題就請你用漢語拼音輸出這句話。
輸入格式:
本題沒有輸入。
輸出格式:
在第一行中輸出:“2018”;第二行中輸出:“wo3 men2 yao4 ying2 !”。
輸入樣例:
輸出樣例:
題目代碼:
L1-053 電子汪 (10 分)
據說汪星人的智商能達到人類 4 歲兒童的水平,更有些聰明汪會做加法計算。比如你在地上放兩堆小球,分別有 1 只球和 2 只球,聰明汪就會用“汪!汪!汪!”表示 1 加 2 的結果是 3。
本題要求你為電子寵物汪做一個模擬程序,根據電子眼識別出的兩堆小球的個數,計算出和,並且用汪星人的叫聲給出答案。
輸入格式:
輸入在一行中給出兩個 [1, 9] 區間內的正整數 A 和 B,用空格分隔。
輸出格式:
在一行中輸出 A + B 個Wang!。
輸入樣例:
輸出樣例:
題目代碼:
L1-054 福到了 (15 分)
“福”字倒着貼,寓意“福到”。不論到底算不算民俗,本題且請你編寫程序,把各種漢字倒過來輸出。這里要處理的每個漢字是由一個 N × N 的網格組成的,網格中的元素或者為字符 @ 或者為空格。而倒過來的漢字所用的字符由裁判指定。
輸入格式:
輸入在第一行中給出倒過來的漢字所用的字符、以及網格的規模 N (不超過100的正整數),其間以 1 個空格分隔;隨后 N 行,每行給出 N 個字符,或者為 @ 或者為空格。
輸出格式:
輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出bu yong dao le,然后再用輸入指定的字符將其輸出。
輸入樣例 1:
輸出樣例 1:
輸入樣例 2:
輸出樣例 2:
題目代碼:
L1-055 誰是贏家 (10 分)
某電視台的娛樂節目有個表演評審環節,每次安排兩位藝人表演,他們的勝負由觀眾投票和 3 名評委投票兩部分共同決定。規則為:如果一位藝人的觀眾票數高,且得到至少 1 名評委的認可,該藝人就勝出;或藝人的觀眾票數低,但得到全部評委的認可,也可以勝出。節目保證投票的觀眾人數為奇數,所以不存在平票的情況。本題就請你用程序判斷誰是贏家。
輸入格式:
輸入第一行給出 2 個不超過 1000 的正整數 Pa 和 Pb,分別是藝人 a 和藝人 b 得到的觀眾票數。題目保證這兩個數字不相等。隨后第二行給出 3 名評委的投票結果。數字 0 代表投票給 a,數字 1 代表投票給 b,其間以一個空格分隔。
輸出格式:
按以下格式輸出贏家:
其中 x 是代表贏家的字母,P1 是贏家得到的觀眾票數,P2 是贏家得到的評委票數。
輸入樣例:
輸出樣例:
題目代碼:
L1-056 猜數字 (20 分)
一群人坐在一起,每人猜一個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。
輸入格式:
輸入在第一行給出一個正整數N(≤104)。隨后 N 行,每行給出一個玩家的名字(由不超過8個英文字母組成的字符串)和其猜的正整數(≤ 100)。
輸出格式:
在一行中順序輸出:大家平均數的一半(只輸出整數部分)、贏家的名字,其間以空格分隔。題目保證贏家是唯一的。
輸入樣例:
輸出樣例:
題目代碼:





