資源簡介 初級編程入門題順序結(jié)構(gòu)1、請編寫一個程序,求一個正方的周長。2、請編寫一個程序,求一個長方形的周長。3、請編寫一個程序,求一個三角形的周長。 4、請編寫一個程序,從鍵盤輸入兩個整數(shù),要求求和然后輸出和。例如: 輸入 1 4 輸出 55、要求從鍵盤輸入一個三位數(shù),要求百位變十位,十位變個位,個位變百位:例如: 輸入 123 輸出 3126、輸入一個四位數(shù)要求按如下交換輸出:例如 :輸入 1234 輸出 43217、輸入一個四位數(shù)要求輸入各位數(shù)字的和。例如: 輸入 4567 輸出 228、編一程序,鍵盤輸入整數(shù)A,B的值,然后打印A除以B的商的整數(shù)部分及余數(shù)。9、輸入一個時、分、秒,把它轉(zhuǎn)換為一個秒數(shù)。例如 輸入 2 3 4 代表2小時3分鐘4秒 輸出 7384 代表一共有7384 秒10、求三角形面積:給出三角形的三個邊長為a,b,c,求三角形的面積。 提示:根據(jù)海倫公式來計算三角形的面積: S=;Area=11、編一程序,從鍵盤輸入整數(shù)A,B的值,然后把A,B的值交換后輸出。從鍵盤輸入兩個整數(shù),打印出更小的那個數(shù)。12、設(shè)X,Y,Z的值分別是FALSE,TRUE,F(xiàn)LASE。寫出下列邏輯表達(dá)式的值:not x and not y;true and x or y;(x and z) or (z and y);x or z and y;(4>5) ? and ? (7<8)???????? (8>9) ? or?( 9<10)???????? 2 ? and ? ((3=3) ? or? (3<7))選擇結(jié)構(gòu)13、讀入三個整數(shù),從小到大輸出。14、從鍵盤輸入一個數(shù),判斷它的奇偶性,如果是奇數(shù)則輸出yes,否則輸出no。 15、從鍵盤讀入一個數(shù),判斷它的正負(fù)。是正數(shù),則輸出"+",是負(fù)數(shù),則輸出"-"。 16、從鍵盤輸入一個數(shù),如果是兩位數(shù)那么輸入yes否則輸入no。17、輸入兩個數(shù)a,b,輸出較大數(shù)的平方值。18、鐵路托運行李規(guī)定:行李重不超過50公斤的,托運費按每公斤0.15元計費;如超50公斤,超過部分每公斤加收0.10元。編一程序完成自動計費工作。?19、某超市為了促銷,規(guī)定:購物不足60元的按原價付款,超過60不足200的按九折付款,超過200元的,超過部分按八折付款。編一程序完成超市的自動計費的工作。 20、打印某年某月有多少天。(提示:A、閏年的計算方法:年數(shù)能被4整除,并且不能被100整除;或者能被400整除的整數(shù)年份。B、利用MOD運算可以判斷一個數(shù)能否被另一個數(shù)整除)。21、編寫一個程序,功能是從鍵盤輸入一個整數(shù),判斷它是否二位數(shù),如果是,就打印它,然后結(jié)束程序, 22、編寫一個程序,功能是從鍵盤輸入三個整數(shù),打印出其中最大的一個值。 23、當(dāng)前小學(xué)生的成績單由以前的百分制改為優(yōu)秀、良好、合格、不合格四個等級的等級制。編一程序完成分?jǐn)?shù)的自動轉(zhuǎn)換工作。轉(zhuǎn)換規(guī)則如下:60分以下的為不合格;60到69分為合格;70到89分為良好;90分以上的為優(yōu)秀。(提示:可以利用DIV運算來使程序更簡明)循環(huán)結(jié)構(gòu)分別用repeat,while循環(huán)做以下習(xí)題。24、計算1—1000之間能同時被3和5整除的整數(shù)的和。25、求所有的三位數(shù)中十位數(shù)能被個位數(shù)和百位數(shù)之和整除的數(shù)。26、求水仙花數(shù)。所謂水仙花數(shù),是指一個三位數(shù)abc,如果滿足a︿3+b︿3+c︿3=abc,則abc是水仙花數(shù)。27、求所有滿足條件的四位數(shù): (1)這四位數(shù)是11的倍數(shù); (2)b+c=a; 28、計算下列式子的值:28a???? (1)1+3+……+99 ?28b? ?(2)1+2+4+8+…+1024 29、輸入一個整數(shù),計算它各位上數(shù)字的和。(注意:是任意位的整數(shù))30、輸入一整數(shù)A,判斷它是否質(zhì)數(shù)。(提示:若從2到A的平方根的范圍內(nèi),沒有一個數(shù)能整除A,則A是質(zhì)數(shù)。)用for循環(huán)做以下習(xí)題31、1+3+5+…..+…..99=? 32、1+1/2+1/3+1/4+……1/100=? 33、1*2+2*3+3*4+……+n*(n+1)=? 34、1+1/2!+1/3!+…..1/n!=?35、求水仙花數(shù)。所謂水仙花數(shù),是指一個三位數(shù)abc,如果滿足a︿3+b︿3+c︿3=abc,則abc是水仙花數(shù)。36、輸入一整數(shù)A,判斷它是否質(zhì)數(shù)。(提示:若從2到A的平方根的范圍內(nèi),沒有一個數(shù)能整除A,則A是質(zhì)數(shù)。)37、1+(1+3)+(1+3+5)+ ……(1+3+5+……+n)=?n為奇數(shù)。38、s=-1+3-5+7-9+……n n為奇數(shù)。二、綜合練習(xí)題39、計算下列式子的值:????(1)1+2+……+1000 1a????(2)1+3+5+……+97+99 2a (3)1+2+4+8+…+1024 3a 40、輸入一個四位數(shù),求它各位上數(shù)字的和。41、求所有的三位數(shù)中十位數(shù)能被個位數(shù)和百位數(shù)之和整除的數(shù)。42、求水仙花數(shù)。所謂水仙花數(shù),是指一個三位數(shù)abc,如果滿足a︿3+b︿3+c︿3=abc,則abc是水仙花數(shù)。43、 求所有滿足條件的四位數(shù): (1)這四位數(shù)是11的倍數(shù); (2)b+c=a; 44、輸入一個整數(shù),計算它各位上數(shù)字的和。(注意:是任意位的整數(shù)) 45、輸入一整數(shù)A,判斷它是否質(zhì)數(shù)。(提示:若從2到A的平方根的范圍內(nèi),沒有一個數(shù)能整除A,則A是質(zhì)數(shù)。)46、求兩個數(shù)的最小公倍數(shù)和最大公約數(shù)。(提示:公約數(shù)一定小于等于兩數(shù)中的小數(shù),且能整除兩數(shù)中的大數(shù)。公倍數(shù)一定大于等于兩數(shù)中的大數(shù),且是大數(shù)的倍數(shù),又能給兩數(shù)中的小數(shù)整除。)47、編寫一個譯碼程序,把一個英語句子譯成數(shù)字代碼。譯碼規(guī)則是以數(shù)字1代替字母A,數(shù)字2代替字母B,……,26代替字母Z,如遇空格則打印一個星號‘*’,英文句子以‘.‘結(jié)束。48、“百錢買百雞”是我國古代的著名數(shù)學(xué)題。題目這樣描述:3文錢可以買1只公雞,2文錢可以買一只母雞,1文錢可以買3只小雞。用100文錢買100只雞,那么各有公雞、母雞、小雞多少只?與之相似,有"雞兔同籠"問題。49、輸入一個正整數(shù)N,把它分解成質(zhì)因子相乘的形式。???? 如:36=1 X 2 X 2 X 3 X 3; 19=1 X 19 50、判斷一字符串是否是回文數(shù),如121、12321、ABA等(字符串輸入時以‘.’結(jié)束)。如輸入:12321.輸出:yes51、打印下列圖案:(輸入N值來控制圖案的規(guī)模,下列圖案均以N=3為例) #????@??*##??@@?**###@@@*** & &&&&&&&&&&&&&&********* 51a 51b 51c 51d52、計算1—1000之間能同時被3和5整除的整數(shù)的和。53、打印下列圖形: 1 121 12321 1234321 12321 121 154、一百匹馬馱一百塊瓦,一匹大馬可以馱3塊,一匹母馬可馱2塊,小馬2匹可馱1塊。試編程求需要各種馬多少匹?55、有三種紀(jì)念郵票,第一種每套一張售價2元,第二種每套一張售價4元,第三種每套9張售價2元?,F(xiàn)用100元買了100張郵票,問這三種郵票各買幾張?56、趙、錢、孫、李、周五人圍著一張圓桌吃飯。飯后,周回憶說:“吃飯時,趙坐在錢旁邊,錢的左邊是孫或李”;李回憶說:“錢坐在孫左邊,我挨著孫坐”。結(jié)果他們一句也沒有說對。請問,他們在怎樣坐的?57、找數(shù)。一個三位數(shù),各位數(shù)字互不相同,十位數(shù)字比個位、百位數(shù)字之和還要大,且十位、百位數(shù)字之和不是質(zhì)數(shù)。編程找出所有符合條件的三位數(shù)。 注:1. 不能手算后直接打印結(jié)果。 2. “質(zhì)數(shù)”即“素數(shù)”,是指除1和自身外,再沒有其它因數(shù)的大于1的自然數(shù)。58、選人。一個小組共五人,分別為A、B、C、D、E。現(xiàn)有一項任務(wù),要他們中的3個人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一個,且必須去一個;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。編程找出此項任務(wù)該由哪三人去完成的所有組合。59、輸入一個字符串,內(nèi)有數(shù)字和非數(shù)字字符。如A123X456Y7A,302ATB567BC,打印字符串中所有連續(xù)(指不含非數(shù)字字符)的數(shù)字所組成的整數(shù),并統(tǒng)計共有多少個整數(shù)。60、甲、乙、丙、丁四人共有糖若干塊,甲先拿出一些糖分給另外三人,使他們?nèi)说奶菙?shù)加倍;乙拿出一些糖分給另外三人,也使他們?nèi)说奶菙?shù)加倍;丙、丁也照此辦理,此時甲、乙、丙、丁四人各有16塊,編程求出四個人開始各有糖多少塊。61、截數(shù)問題: 任意一個自然數(shù),我們可以將其平均截取成三個自然數(shù)。例如自然數(shù)135768,可以截取成13,57,68三個自然數(shù)。如果某自然數(shù)不能平均截取(位數(shù)不能被3整除),可將該自然數(shù)高位補零后截取?,F(xiàn)編程從鍵盤上輸入一個自然數(shù)N(N的位數(shù)<12),計算截取后第一個數(shù)加第三個數(shù)減第二個數(shù)的結(jié)果。62、從鍵盤輸入一段英文,將其中的英文單詞分離出來:已知單詞之間的分隔符包括空格、 問號、句號(小數(shù)點)和分號。 例如:輸入:There are apples; oranges and peaches on the table. 輸出:there are apples oranges and peaches on the table63、A,B,C,D,E五個人合伙夜間捕魚,凌晨時都疲憊不堪,各自在河邊的樹叢中找地 方睡著了,日上三竿,E第一個醒來,他將魚數(shù)了數(shù),平分成五分,把多余的一條扔進(jìn)河中, 拿走一份回家去了,D第二個醒來,他并不知道有人已經(jīng)走了,照樣將魚平分成五分,又扔 掉多余的一條,拿走自己的一份,接著C,B,A依次醒來,也都按同樣的辦法分魚(平分成 五份,扔掉多余的一條,拿走自己的一份),問五人至少合伙捕到多少條魚。 也許你能用數(shù)學(xué)辦法推出魚的條數(shù),但我們的要求你編出一個程序,讓計算機(jī)幫你算出魚的總數(shù)。64、試編程找出能被各位數(shù)字之和整除的一切兩位數(shù)。65、一個正整數(shù)的個位數(shù)字是6,如果把個位數(shù)字移到首位,所得到的數(shù)是原數(shù)的4倍,試編程找出滿足條件的最小正整數(shù)。66、某本書的頁碼從1開始,小明算了算,總共出現(xiàn)了202個數(shù)1,試編程求這本書一共有多少頁?67、從鍵盤上輸入兩個不超過32767的整數(shù),試編程序用豎式加法形式顯示計算結(jié)果。例如: 輸入 123, 85 顯示: 123 + 85 --------- 208 68、有30個男人女人和小孩同在一家飯館進(jìn)餐,共花了五十先令,其中男賓3先令,女賓2先令,小孩1先令。試編程求出男人女人小孩各多少人? 69、找出100到999之間的整數(shù)中所有等于它每位數(shù)字立方和的數(shù) 70、求所有滿足條件的四位數(shù): (1)這四位數(shù)是11的倍數(shù); (2)a,b,c,d均是小于10 的互不相等的自然數(shù); (3)b+c=a; (4)bc是完全平方數(shù). 71、已知四位數(shù)3025有一個特殊性質(zhì): 它的前兩位數(shù)字30和后兩位數(shù)字25的和是 55, 而55的平方剛好等于該數(shù)(55*55=3025). 試編一程序打印所有具有這種性質(zhì)的四位數(shù). 72、編程找出四個互不相等的自然數(shù), 它們之中任意兩數(shù)之和為偶數(shù), 任意三數(shù)之和可以被3整除, 而且這四個數(shù)的和越小越好(已知它們的和不大于50). 73、以不同的字母代表0--9之間的數(shù)字, 現(xiàn)有如下等式成立: a+bc+def=ghij,編程求出滿足上述條件等式的個數(shù)并將所有等式打印輸出. 74、下面的豎式表示, 圖中的"*"號只能用素數(shù)2,3,5,7代替, 因此稱為素數(shù)乘法豎式. * * * × * * --------------- * * * * * * * * ---------------- * * * * * 編程找出此乘法豎式的所有可能方案. 75、出售金魚: 出售金魚者決定將缸里的金魚分五次全部賣出: 第一次賣出全部金魚的一半加二分之一條; 第二次賣出剩余金魚的三分之一加三分之一條; 第三次賣出剩余金魚的四分之一加四分之一條; 第四次賣出剩余金魚的五分之一加五分之一條; 現(xiàn)在還剩下11條金魚一次賣出. 問缸里原來有多少條金魚. 76、一個四位數(shù)是一個完全平方數(shù),減去一個每位數(shù)字都相同的四位數(shù)( 如 1111, 5555)后, 仍是一個完全平方數(shù). 請編程打印出所有這樣的四位數(shù). 77、將1,2,3,4,5,6,7,8,9這九個數(shù)字組成三個三位數(shù), 使每個數(shù)都是完全平方數(shù). 78、如果一個數(shù)從左邊讀和從右邊讀都是同一個數(shù), 就稱為回文數(shù). 例如: 6886就是一個回文數(shù). 編程找出所有既是回文數(shù)又是素數(shù)的三位數(shù). 79、有一個八位數(shù)12345679, 若它乘以9, 則得九位數(shù)111111111, 試求:素數(shù) (1)當(dāng)這個數(shù)乘以什么數(shù)時, 才能得到全部由5所組成的九位數(shù)? (2)當(dāng)這個數(shù)乘以什么數(shù)時, 才能得到全部由9所組成的九位數(shù)? 80、李先生和他的孫子同出生于20世紀(jì), 他的孫子與他的年齡之差為60歲, 李先生和他的孫子出生年份被3,4,5,6除, 余數(shù)分別為1,2,3,4. 編程求出李先生和他的孫子各出生在哪一年. 81、一位婦女在河邊洗碗. 鄰居問:"家里來了多少個客人?", 她回答:" 每兩個客人合用一個菜碗, 每三個客人合用一個湯碗, 每四個客人合用一個飯碗, 共用碗65個". 問共來了多少客人? 82、16/64是一個分子和分母都是兩位數(shù)的真分?jǐn)?shù), 且分子的個位數(shù)與分母的十位數(shù)相同. 非常奇怪的是: 如果把該分?jǐn)?shù)的分子的個位數(shù)和分母的十位數(shù)同時劃去, 所得到的結(jié)果正好等于原分?jǐn)?shù)約分后的結(jié)果. 例 16/64=1/4. 編程找出所有滿足上述條件的真分?jǐn)?shù). 83、公雞每只值5文錢, 母雞每只值3文錢, 小雞3只值1文錢. 今用100 文錢買雞共100只, 問公雞, 母雞, 小雞各兒只. 84、甲去買東西, 要付給乙19元, 而甲只有3元一張的錢, 乙只有5元一張的錢. 請為他們設(shè)計一個交換方案. 85、一米店有三籮米被盜去一部分, 其中左籮剩1合, 中籮剩14合, 右籮剩1合. 小偷甲說他用一馬勺在左籮舀米, 每次舀滿, 裝到布袋. 小偷乙說他用一只木鞋在中籮偷. 小偷丙說他用一只漆碗在右籮中偷. 作案物經(jīng)標(biāo)定: 馬勺一次舀19合, 木鞋一次舀17合, 漆碗一次舀12合. 問米店被偷走多少米? 甲乙丙各偷多少米? 86、五戶人家共用一口井, 如果用A家的繩2條, B家的繩1條接長, 正好抵達(dá)水面; 又用B家繩3條, C家繩1條; 或用C家繩4條, D家繩1條; 或用D家繩5條, E家繩1條; 或用E 家繩6條, A家繩1條接長, 也都一樣正好抵達(dá)水面, 問井深和各家的繩子各長多少?( 不超過999的整數(shù)解). 87、有六箱貨物,重分別是5噸、2噸、3.5噸、1.7噸、1噸、5.1噸。現(xiàn)有一臺貨車,載重量10噸。設(shè)計一個程序,使這次車運走的貨物最多。88、某電臺組織一次智力競賽,計劃安排獎勵30人。準(zhǔn)備了50件獎品。得一等獎?wù)呖傻?件,二等獎2件,三等獎1件。希望把所有獎品都發(fā)到獲獎?wù)呤种?。請找出所有方案(即各等獎各有多少人)?br/> 89、從鍵盤輸入二個整數(shù)a, b(b<>0), 若a能被b整除, 就打印"YES", 否則打印"NO"。 90、從鍵盤輸入一個整數(shù), 如果是奇數(shù)就直接打印, 否則反復(fù)除以2, 直到商為奇數(shù)為止, 打印這個奇數(shù)商。 91、從鍵盤輸入一個小于1000的正整數(shù), 若此數(shù)的各位數(shù)字之和能被7整除, 則打印, 否則不打印。 92、求100以內(nèi)的所有素數(shù)。 93、輸入一個大于1的自然數(shù), 打印出它的質(zhì)因數(shù)分解式. 如輸入75則打印: 75=3*5*5. 94、某自然數(shù)N(1 95求1992個1992相乘結(jié)果的最后三位數(shù)。 96從鍵盤輸入兩個自然數(shù), 求它們的最大公約數(shù)和最小公倍數(shù)。 97、一個自然數(shù)是素數(shù), 且它的數(shù)字位置經(jīng)過任意對換后仍為素數(shù), 稱為絕對素數(shù). 例如 13. 試找出所有這樣的四位絕對素數(shù)。 98、編程驗證對任意自然數(shù)N, 如果各位數(shù)字平方和不是1, 則求平方和的各位數(shù)字的平方和, 最后必有145, 42, 20, 4, 16, 37, 58, 89 之無窮循環(huán)。 99、五位數(shù) 4H97H 能被3整除, 且它的最低二位數(shù)字所組成的數(shù) 7H 能被6整除, 求這個五位數(shù)字。100、975*935*972*( ), 在( )中填什么自然數(shù)使四個數(shù)的乘積末四位全為0, 求出最小值。 101、修改31743的某一位上的數(shù)字, 使之成為823的倍數(shù)。 102、一個自然數(shù), 若它的質(zhì)因數(shù)至少是兩重的(相同的質(zhì)因數(shù)至少個數(shù)為二個, 如36=2*2*3*3)則稱該數(shù)為"漂亮數(shù)". 若相鄰兩個自然數(shù)都是"漂亮數(shù)", 就稱它們?yōu)?孿生漂亮數(shù)". 例如8與9就是一對. 請編程再找出一對"孿生漂亮數(shù)"。 103、任意輸入二個自然數(shù), 若商為整數(shù), 則直接顯示商; 否則把商分解成一個自然數(shù)和一個正的既約真分?jǐn)?shù)之和才顯示。 例如: 輸入: 9, 3 顯示: 9/3=3 輸入: 8, 6 顯示: 8/6=1+1/3 104、任意輸入四個自然數(shù)a,b,c,d, 看成二個分?jǐn)?shù)a/b, c/d. 求這二個分?jǐn)?shù)之和. 和的顯示格式為: 輸入 3,2,1,6 輸出: 3/2+1/6=1+2/3。 105、在自然數(shù)中, 各位數(shù)字之和的11倍正好等于自身的自然數(shù)只有一個. 請找出這個自然數(shù)。 106、求所有不超過1000的這樣的整數(shù), 它的平方的末二位數(shù)字相同但不為0。 107、P是一個大于3的質(zhì)數(shù), 對某個自然數(shù)N, PN恰好是五位數(shù), 且至少有三個位上的數(shù)字相同, 求P至少是多少。 108、編程求最小正整數(shù)M,N(0 109、驗證下面結(jié)論: 一個各位數(shù)字不同且都不為0的N位數(shù)X(3<=N<=5), 將組成該數(shù)的各位數(shù)字重新排列成一個最大數(shù)和一個最小數(shù)作減法, 其差值再重復(fù)前述運算, 若干次后必出現(xiàn)一個N位數(shù)Y, 使之重復(fù)出現(xiàn). 例如: X=213, 則有 213→321-123=198 981-189=892 982-289=693 963-369=594 954-459=495 954-459=495 這時Y=954.110、計算: 111、小明的媽媽是負(fù)責(zé)分發(fā)全廠工資的。為使分發(fā)時有足夠多的零鈔,同時又盡量不使每個人領(lǐng)到的錢太零碎。每個月她都要計算出各種面值的鈔票(100元、50元、10元、5元、2元、1元,假設(shè)每個人的工資都是整數(shù)元)各需要多少張。你能否為她設(shè)計一個程序,從鍵盤輸入10個人的工資,再計算出各種面值的鈔票各需要多少張?112、任給一個自然數(shù)n,求出這個自然數(shù)不同因數(shù)的個數(shù)M.113、給出一個數(shù)n的不同因數(shù)個數(shù)m,求最小滿足要求的自然數(shù)n,即n有m個不同的因數(shù)。例如輸入 2 則輸出 2 因為2有2個因數(shù)。114、m,n為自然數(shù),其上限為k,試編寫程序,由鍵盤輸入自然數(shù)k找出滿足條件: (n︿2-mn-m︿2)︿2=1 且使m︿2+n︿2達(dá)到最大的m,n。115、求50到100中所有奇數(shù)。116、商店賣水果,10斤以下8元每斤,100斤以下打9.5折,即8*0.95元每斤,100斤以上含100斤打9折。輸入購買水果的斤數(shù),輸出應(yīng)付錢數(shù),保留兩位小數(shù)。從鍵盤輸入10個數(shù),求出其中的最小數(shù)。輸出能被11整除且不含重復(fù)數(shù)字的三位數(shù)。并統(tǒng)計個數(shù)。已知一個四位數(shù)為ABCD,若A+C和B+D的值相等,則稱這個四位數(shù)為交叉數(shù),求四位數(shù)的交叉數(shù)和個數(shù)。輸入一個字符串,將其中所有的‘god’改為‘good’。 輸入兩個正整數(shù)a,b(1<=a<=b<=1000),輸出它們的最大公約數(shù)和最小公倍數(shù)。如:輸入4 6,輸出2 12。從鍵盤隨意輸入10個整數(shù),輸出第5大數(shù)。123、有一根長為514CM的鋼筋,現(xiàn)在要截成23CM、15CM和19CM的短料,問在各至少截一根的前提下,問各截多少根,使所剩余料最少。124、統(tǒng)計100以內(nèi)素數(shù)的個數(shù)。125、給出一個正整數(shù),求出它的因子,并按下面的格式打印出來:15=3*5,20=2*2*5,28=2*2*7126、N的階乘之和是1!+2!+…+n!, n小于100。127、求1到100中所有奇數(shù)。128、求1到200中所有能被2、3、7整除的數(shù)。129、輸入一個學(xué)生的語文成績0分到100分,如果是85分到100是優(yōu)秀,輸出“BEST”,如果是 60分到84是及格,輸出“GOOD”,如果是 0分到59是不及格,輸出“BAD”。130、輸入10個學(xué)生的語文成績,分別統(tǒng)計成績在85~100分,60~85分和60分以下,各分?jǐn)?shù)段中的人數(shù)。131、筐中有雞蛋是7的倍數(shù),二個二個一為,三個三個一數(shù),四個四個一數(shù),五個五個一烽均余1,求滿足此條件的最小蛋數(shù)。132、計算N!,其中N由鍵盤輸入。133、求1至200的和。134、讀入十個數(shù),計算它們的和與積以及平均值。135、任意輸入一個三位數(shù),反過來輸出。136、水仙花數(shù)是一個三位數(shù),并且它的各數(shù)碼的立方和正好等于它本身。如:153=1×1×1+5×5×5+3×3×3。137、求能被11整除,且數(shù)碼的平方和是122的所有的三位數(shù)。138、求能被11整除,且不含重復(fù)數(shù)字的三位數(shù)?有多少個。139、求2~1000中的完數(shù),(因子和等于它本身的數(shù)為完數(shù)。例如28的因子是1,2,4,7,14,且1+2+4+7+14=28,則28是完數(shù))。140、找2~1000中的親密數(shù)對(如果A 的因子和等于B,B的因子和等于A,且A不等于B,則稱A,B為親密數(shù)對)。141、從鍵盤輸入三個數(shù),輸出其中的最大數(shù)。142、從鍵盤輸入20個數(shù),求出其中的最小數(shù)。143、用循環(huán)語句從小到大依次輸出26個大寫字母,再返向輸出。144、輸入兩個運算量及一運算符,輸出運算結(jié)果。這相當(dāng)于計算器計算。145、非波拉契數(shù)列如下:0,1,1,2,3,5,8,13,21…從第三項開始,每一項等于前兩項的和。編程求前20項。146、有一個三位數(shù),三個數(shù)字和為20,第三個數(shù) 3倍與第二個數(shù)的2倍及第一個數(shù)三者之和為44,第一個數(shù)與第二個數(shù)和的2倍減去第三個烽的4倍為-14,求這個三位數(shù)。147、父子二人,已知兒子年齡不大于40歲,父親年齡不大于100歲,10年前父親的年齡是兒子年齡的4倍,10年后父親的年齡是兒子年齡的整數(shù)倍。問父子現(xiàn)年多少歲。148、前N個自然數(shù)排成一串: X1,X2,X3.....Xn先取出x1,將x2,x3移到數(shù)串尾,再取出x4,將x5,x6移到數(shù)串尾,....... 類推直至取完.取出的序列恰好是:1,2,3......n要求輸入N,求原來的數(shù)串的排列方式.149、有M個猴子圍成一圈,每個有一個編號,編號從1到M。打算從中選出一個大王。經(jīng)過協(xié)商,決定選大王的規(guī)則如下:從第一個開始,每隔N個,數(shù)到的猴子出圈,最后剩下來的就是大王。要求:從鍵盤輸入M,N,編程計算哪一個編號的猴子成為大王。150、圍繞著山頂有10個洞,狐貍要吃兔子,兔子說:“可以,但必須找到我,??我就藏身于這十個洞中,你從10號洞出發(fā),先到1號洞找,第二次隔1個洞找,第三次隔2個洞找,以后如此類推,次數(shù)不限?!钡倧脑绲酵磉M(jìn)進(jìn)出出了1000次,仍沒有找到兔子。問兔子究竟藏在哪個洞里?151、輸入一個二進(jìn)制小數(shù),無需判錯,請轉(zhuǎn)換成十進(jìn)制輸出。并保留四位小數(shù)位。輸入樣例:0.11輸出樣例:0.7500152、純粹素數(shù)是這樣定義的:一個素數(shù),去掉最高位,剩下的數(shù)仍為素數(shù),再去掉剩下的數(shù)的最高位,余下的數(shù)還是素數(shù)。這樣下去一直到最后剩下的個位數(shù)也還是素數(shù)。求出所有小于3000的四位純粹素數(shù)。153、求n個最小的連續(xù)合數(shù)。合數(shù)是除了1和本身以外還有其它因子的正整數(shù)。輸入樣例:3輸出樣例: 8 9 10154、從鍵盤輸入一個正整數(shù),是偶數(shù)輸出“yes”,否則輸出“no”。155、從鍵盤輸入一個正整數(shù)N(1<=N<=30000),求1到N的和。156、輸入一個正整數(shù)N(1<=N<=200),如果是素數(shù)則輸出“TRUE”,否則輸出“FALSE157、輸入兩個正整數(shù)a,b(1<=a<=b<=1000),輸出它們的最大公約數(shù)和最小公倍數(shù)。如:輸入4 6,輸出2 12。158、大家熟知雞兔同籠問題,輸入兩個數(shù)a,b,a為腳的只數(shù),b為頭的個數(shù)。編程序輸出雞的只數(shù)和兔的只數(shù)。159、將1~9這9 個數(shù)字分成三組(每個數(shù)字只能使用一次),分別組成3個三位數(shù),且這三位數(shù)的值構(gòu)成1:2:3的比例,試求出所有滿足條件的3個三位數(shù)。160、編寫程序,任意輸入一個三位正整數(shù),然后倒序輸出。比如輸入的是285 ,輸出的就該是582。161、請看圖3-2,判斷任意一點A(x,y)是否在圓環(huán)內(nèi)。如果在圓環(huán)內(nèi)輸出True,否則輸出False。使用輸入語句獲取X,Y的值。提示:首先推導(dǎo)出判別式為 2<=x2+y2<=25162、編寫程序輸入一個任意的正實型數(shù),輸出它的平方及平方根,立方及立方根。提示:求立方根公式為x1/3=e1/3lnx163、某服裝店對售貨員發(fā)放獎金的辦法是:日營業(yè)額在1000元以下的,只能拿到基本工資,沒有獎金;超過1000元的,獎金為超出部分的2%。編寫程序輸入營業(yè)額,計算并輸出獎金。164、編寫程序計算y的值。 Sqrt(a+b)+sin(a-b) a>0,b>0Y= 1 a=0,b=0 a2+b2 其他165、從鍵盤輸入三個整數(shù),輸出最大數(shù)max和最小數(shù)min。166、輸入年號、月份,輸出該月的天數(shù)。1、3、5、7、8、10、12月為31天,4、6、9、11月為30天,2月平年28天,潤年29天。潤年判別式為:(y mod 4=0) and (y mod 100<>0) or (y mod 400=0)167、模擬一個有加、減、乘除運算的簡單計算器。當(dāng)輸入一個實型數(shù),再輸入一個運算符,再輸入一個實型 數(shù)后馬上輸出運算結(jié)果。比如:輸入3.5*4.0后程序運行結(jié)果應(yīng)該是14.0。168、求n?。?*2*..*n),n由鍵盤輸入。分別用for和while 兩種循環(huán)實現(xiàn)。169、求1-1/2+1/3-1/4…+1/99-1/100的值。170、求圓周率π≈1-1/3+1/5-1/7+…+(-1)n-11/(2n-1),求π的近似值,真到某項的絕對值小于10-6為止。177、利用雙重循環(huán)編寫出打印出右邊數(shù)字方陣的程序。1 2 3 4 5 62 3 4 5 6 73 4 5 6 7 8 5 6 7 8 9 106 7 8 9 10 11178、求e的近似值:e≈1+1/1!+1/2!+1/3!+…+1/n!,當(dāng)某項小于10-5時停止。179、編寫程序,打印出100~200之內(nèi)的全部素數(shù)。180、給出一個正整數(shù),求出它的因子,并按下面的格式打印出來:15=3*5,20=2*2*5,28=2*2*7181、找出1~1000之間的全部“水仙花數(shù)”。“水仙花數(shù)”是這樣一個整數(shù),它的每一位數(shù)字的立方之和正好等于這個三位數(shù),例如153是“水仙花數(shù)”,因為13+53+33=153。182、找出1~100之間的全部“同構(gòu)數(shù)”?!巴瑯?gòu)數(shù)”是這樣一種數(shù):它出現(xiàn)在它的平方數(shù)的右端。例如:5的平方是25,5就是同構(gòu)數(shù),25也是構(gòu)數(shù)。183、猴子分蘋果》趣味程序設(shè)計:傍晚,五只猴子在樹林里發(fā)現(xiàn)一堆蘋果,約定第二天早上再來平分,于是各自回去睡覺。半夜一只猴子醒來,把蘋果平分了五分,發(fā)現(xiàn)多出一個蘋果。給誰都不合適,又不能扔掉,只好自己吃了,然后它把其中一堆藏了起來,剩下的四堆又混在一起,高高興興地睡覺去了。過了一會,又有一只猴子醒來,它和第一只猴子一樣,把蘋果平分了五份,發(fā)現(xiàn)多出一個蘋果,給誰都不合適,又不能扔掉,只好自己吃了,然后它把其中一堆藏了起來,剩下的四堆又混在一起,也去睡覺了。這一夜五只讒嘴的猴子都沒睡塌實,五只猴子都以同樣的辦法把蘋果分一次。第二天早上,五只猴子起來看著變少了的蘋果各自心照不宣,它們一起把蘋果分了五份,正好一個不多一個不少。請編寫程序計算出一開始總共有多少蘋果。184、編程打印出三角形九九乘法表。185、編寫程序打印右圖。 1 1 2 11 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 1186、編程打印出右圖12 34 5 67 8 9 1012 13 14 15187、按下述格式輸出楊輝三角形:1 1 11 2 11 3 3 11 4 6 4 1188、已知某班學(xué)生6人,輸入他們的語文、數(shù)學(xué)、英語三門課程考試成績,求出每個學(xué)生的平均成績,并排名次。189、解數(shù)學(xué)燈迷,有以下算式:A B C D- C D C-------------- A B CA,B,C,D均為一位非負(fù)整數(shù),要求找出A,B,C,D的值,請編程序。190、任意輸入兩個正整數(shù),求他的最大公約和最小公倍數(shù)。191、已知三角形的三條邊長為a,b,c,求三角面積。提示:用海淪公式求三角形面積s=sqrt(p*(p-a)*(p-b)*(p-c)) p=(a+b+c)/2192、用篩法求1 到10000的素數(shù)。193、開燈問題。 有從1到n依次編號的n個人和n盞燈。我號人將所有的燈都關(guān)掉;2號人將編號為2的倍數(shù)的燈都打開;3號人則將編號為3的倍數(shù)的燈作相反處理;以后的人都將凡是自己編號的倍數(shù)的燈作相反處理。問第n個人操作后,哪些燈是打開的?194、12個小朋友手拉手站成一個圓圈,從某一個小朋友開始報數(shù),報到7的那個小朋友退到圈外,然后他的下一位重新報“1”。這樣繼續(xù)下去,最后只剩下一個小朋友,他原來站在什么位置上呢?195、2m ,3n |m>=1,n>=1}中由小到大排列的前70項數(shù)。196、運動會連續(xù)開了n天,一共發(fā)了m枚獎?wù)?,第一天發(fā)1枚并剩下(m-1)枚的1/7,第二天發(fā)2枚并剩下的1/7,以后每天按此規(guī)律發(fā)獎?wù)?,在最后一天即第n天發(fā)了剩下的n枚獎?wù)?。問運動會開了多少天?一共發(fā)了幾枚獎?wù)拢?br/>197、設(shè)有如圖所示的3n+2個球互連,將自然數(shù)1-3n+2分別為這些球編號,使如圖相連的球編號之差的絕對正好是數(shù)列1,2,……,3n+2中各數(shù)。 ②─⑥ ②─⑨─⑤ ②─⑿─⑤─⑨ │ │ │ │ │ │ │ │ │ ①─⑧─④─⑤ ①─⑾─④─⑧─⑦ ①─⒁─④─⑾─⑦─⑧ │ │ │ │ │ │ │ │ │ ③─⑦ (n=2) ③─⑩─⑥ (n=3) ③─⒀─⑥─⑩ (n=4)198、遞歸法判斷所輸入的一行字符是否回文。這里所說的回文是指輸入的一行字符,以“-”字符為中心,其兩邊的字符是左右對稱的。例如: 輸入:ABCDE-EDCBA ↓ 輸出:It is symmetry. {輸入一行字符是回文}199、三個齒輪嚙合。如圖在齒輪箱里三個齒輪互相銜接,某瞬間兩對齒相遇,問各轉(zhuǎn) 多少圈后,這兩對齒同時重逢。如圖示。 (說明:用a,b,c分別表示三個齒輪的齒數(shù)。)200、設(shè)有一個數(shù)組A:array [0..N-1] of integer; 存放的元素為0~N-1(1A[0]編碼為0;A[i]編碼為:在A[0],A[1],…,A[i-1]中比A[i]的值小的個數(shù) (i=1,2,…,N-1)∴上面數(shù)組A的編碼為:B=(0,0,0,3,1,2) 要求編程解決以下問題:(1)給出數(shù)組A后,求出其編碼;(2)給出數(shù)組A的編碼后,求出A中的原數(shù)據(jù)程序樣例:例一:輸入:Stat=1 {表示要解決的第(1)問題} N=8 {輸入8個數(shù)} A=1 0 3 2 5 6 7 4輸出:B=0 0 2 2 4 5 6 4例二:輸入:Stat=2 {表示要解決的第(2)問題} N=7 B=0 1 0 0 4 5 6 輸出:A=2 3 1 0 4 5 6201、求2至N(2≤N≤500)之間的素數(shù)。例如:輸入:N=100輸出: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 71 73 79 83 89 97 total=24 {表示2至100之間的素數(shù)有24個}202、矩陣相乘:已知N×M1矩陣A和M1×M矩陣B(1≤M、M1、N≤10),求矩陣C(=A×B)。例如:輸入:N,M1,M=4 3 4 A= 1 2 3 4 5 提示:所謂矩陣相乘(如A×B=C),是指5 6 Cij= ∑(Aik×Bkj)(i=1~N,j=1~M1,k=1~M)–1 –2 B= 1 6 4 2 例如: 2 3 4 1 C11=A11×B11+A12×B21+A13×B31 –1 5 7 –3 =1×1+2×2+3×(– 1)輸出:C= 2 27 33 –5 =2 6 55 63 –5 C42= A41×B12+A42×B22+A43×B32 8 69 78 –5 =5×6+(–1)×3+(–2)×5 5 17 2 15 =17203、輸入N(2≤N≤100)個數(shù)字(在0與9之間),然后統(tǒng)計出這組數(shù)中相鄰兩數(shù)字組成的鏈環(huán)數(shù)字對出現(xiàn)的次數(shù)。例如:輸入:N=20 {表示要輸入數(shù)的數(shù)目} 0 1 5 9 8 7 2 2 2 3 2 7 8 7 8 7 9 6 5 9 輸出:(7,8)=2 (8,7)=3 {指(7,8)、(8,7)數(shù)字對出現(xiàn)次數(shù)分別為2次、3次) (7,2)=1 (2,7)=1 (2,2)=2 (2,3)=1 (3,2)=1204、生成一個按蛇形方式排列自然數(shù)1,2,3,4,5,……,N2的 (1輸入:N=4 N=7輸出: 1 3 4 10 1 3 4 10 11 21 22 2 5 9 11 2 5 9 12 20 23 34 6 8 12 15 6 8 13 19 24 33 35 7 13 14 16 7 14 18 25 32 36 43 15 17 26 31 37 42 44 16 27 30 38 41 45 48 28 29 39 40 46 47 49三、算法設(shè)計題篩選法205、不相同的余數(shù)問題,即“秦王暗點兵”或“韓信點兵”:206、有一樓房的樓梯級數(shù)很奇特,一步跨二級多一級,一步跨三級多二級,如果分用四、五、六、七去除級數(shù)分別余三、三、五、五。問這樓房共有多少級階梯?(已知不超過400級)。 207、狼追兔子,兔子躲進(jìn)了10個環(huán)形分布的洞的某一個中。狼在第1個洞中沒有找到兔子,就間隔1個洞,到第3個洞中去找,也沒找到兔子,就間隔2個洞,到第6個洞中去找。以后狼每次多隔1個洞去找兔子,……。這樣狼一直找不到兔子。請問兔子可能躲在哪個洞中?作800—1000的素數(shù)表。答案:809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997209、一位數(shù)學(xué)家和一些游客共81人不幸落入強盜手中,強盜把俘虜排成一隊,宣布每天處理所有第2的N次方個俘虜(N>=0),而只放走剩下的最后一個。由于數(shù)學(xué)家身懷重任,不得不選擇了一個恰當(dāng)?shù)奈恢枚罱K被放走。請問他歸初排在第幾個位置。 答案:80210、有一堆禮物,工作人員無論是分成二個一份,還是三個、四個、五個、六個一份,總是多一個。請問這堆禮物至少多少個? 答案:61211、一付撲克中拿出所有的黑桃A……K按順序排好。第一次翻出第一張牌——A,放在一邊,再拿出第二張放到牌的最下面。以后每次都翻出一張牌,再把一張牌放到最后,問第八次翻出的牌是哪一張? 答案:4遞歸212、有一個數(shù)列N,已知:N(1)=1,N(X)=N(X-1)*3-1(X>1),求N(100);打印‘A’、‘B’、‘C’、‘D’、‘E’這五個字符任意排列的所有情況。213、從鍵盤輸入一個正整數(shù)N,求把它分解成若干個小于等于N的正整數(shù)之和的所有情況。214、求N!(階乘)。215、梵塔問題:有三個塔柱(以A,B,C表示)。在A上有一個干塔,共N層。今以一個圓盤代表一層,在盤在下,小盤在上。要求將塔從A移動到C。按規(guī)定,每次只能移動一個盤子,可以將盤子放在三個塔柱中任一個上,但大盤子不能放在小盤子上面。試編程序打印出移塔過程。216、驗證卡布列克常數(shù),對于一個四位數(shù)N,進(jìn)行下列運算:(1)將組成該四位數(shù)的4個數(shù)字由大到小排列,形成由這4個數(shù)字組成的最大的四位數(shù);(2)將組成該四位數(shù)的4個數(shù)字由小到大排列,形成由這4個數(shù)字組成的最小的四位數(shù)(如果高位為0則取得的數(shù)不足4位);(3)求兩個數(shù)的差,得到一個新的四位數(shù)(高位0保留),稱為對N進(jìn)行了一次卡布列克運算。有這樣的規(guī)律:對一個各位數(shù)字不全相同的四位數(shù)重復(fù)進(jìn)行若干次卡布列克運算,最后得到的結(jié)果總是6174。這個數(shù)被稱為卡布列克常數(shù)。N從鍵盤輸入。輸出每一次的卡布列克運算及得到6174時的運算次數(shù)。217、對任意自然數(shù)N,將其拆分為若干個自然數(shù)之和。218、有一樓梯共有N級,現(xiàn)在從第1級開始,每步可以走1級,也可以走2級、3級,問共有多少種走法并打印所有走法。219、快速排序法:把數(shù)組中的N個數(shù)進(jìn)行快速排序。N及N個數(shù)從鍵盤輸入。220、樓梯有N級臺階,上樓可以一步上一級,也可以一步上兩級,請編一遞歸程序,打印出所有從第1級上到第N級的走法。提示:S(N)=S(N-1)+S(N-2)。編一遞歸程序,求組合數(shù) 。已知:一個凸N邊形,通過N邊形內(nèi)部互不相交的對角線,把N邊形拆分成若干個三角形,不同拆分方案的數(shù)目用H(N)表示。已知遞歸函數(shù)如下:H(N+1)=H(2)*H(N)+H(3)*H(N-1)+……+H(N)*H(2),(為什么?)H(2)=1。請編寫計算H(N)的遞歸程序。223、阿克曼函數(shù)(ACKMANN)A(X,Y)中,X、Y定義域是非負(fù)整數(shù),函數(shù)值定義為:A(X,Y)=Y+1 (X=0)A(X,0)=A(X-1,1) (X>0,y=0)A(X,Y)=A(X-1,A(X,Y-1)) (X,Y>0)設(shè)計一個遞歸程序,求A(X,Y)。某人寫了N封信和N個信封,結(jié)果所有的信都裝錯了信封。求共有多少種情況。提示:D(N)=(N-1)*(D(N-1)+D(N-2)),D(1)=0,D(2)=1。為什么?編寫一個程序,生成1,2,3,4,5五個數(shù)字的全排列。編寫一個程序,生成1,2,3,4,5,6六個數(shù)字中任選出四個數(shù)字的全排列。回溯法226、八皇后問題:在一個8X8的國際象棋棋盤上放置8個皇后,使它們不能互相攻擊(即任意兩個皇后不能在同一行、同一列或同一對角線上)。試求出所有方法。227、分派整數(shù)1、2、3……8給以下各方框,并保證沒有兩個相鄰的方框(垂直相鄰,斜對角相鄰或水平相鄰)含有連續(xù)的整數(shù)。寫一個程序,找出所有的分派方案。 228、在一個NXN的方格網(wǎng)上從某一點(I,J)開始,沿水平、垂直或?qū)蔷€向前進(jìn),最后回到(I,J),形成一個不相交的封閉的折線,設(shè)此封閉折線不與方格網(wǎng)的邊界相交,求此封閉折線所圍成的面積。面積的計算方法是統(tǒng)計折線上以及它所圍成的封閉區(qū)域中的水平線與垂直線交點的數(shù)目。如圖中圍住了41個點(包括折線本身上的點),因而面積為41。 輸入格式:文件讀入,格式如下(定義走法:U向上,D向下,L向左,R向右,UL、UR、DL、DR依次累推): 5 2 表示起點為(5,2) R 2 表示向右走三點 DR 2 表示向下右走三點 D 3 表示向下走四點 L 1 表示向左走一點 D 2 表示向下走二點229、有一個由N個數(shù)組成的序列,有0,1兩種數(shù),要求在任一個數(shù)前1的個數(shù)不得超過0的個數(shù),求出所有這樣的序列。以下列方式向5X5矩陣中填入數(shù)字。設(shè)數(shù)字I(1<=I<=25)已被置于座標(biāo)位置(X,Y),則數(shù)字I+1的座標(biāo)位置應(yīng)為(E,W),(E,W)可根據(jù)以下關(guān)系由(X,Y)算出: (1)(E,W)=(X±3,Y); (2)(E,W)=(X,Y±3); (3)(E,W)=(X±2,Y±2)。 編寫一個程序,當(dāng)數(shù)字1被指定于某個起始位置時,列舉出其它24個數(shù)字應(yīng)在的位置;列舉出該條件下的所有可能方案,輸出所有可能的情況。230、編一程序,從鍵盤輸入數(shù)字R,計算機(jī)自動檢查在下列算式的“()”中能否填上“+”或“-”號湊成相應(yīng)的等式。如能湊成,則打印出這些算式。如不能則打印“NO ANSWER”。 1( )2( )3( )4( )5( )6( )7( )8( )9=R231、有NXM張郵票邊在一起,但其中某一張被挖掉了。如下圖就5X4的郵票的形狀和編號,其中第11張被挖掉了,現(xiàn)在要求從這些郵票中撕出4張連在一起的郵票,請打印出所有答案。1 2 3 45 6 7 89 10 1213 14 15 1617 18 19 20 輸入格式:5 4 表示5行4列3 3 表示第3行第3列的郵票被撕掉了,如果輸入0 0則表示沒有撕掉郵票。輸出格式1-2-3-4 以下若干行為各種方案1-5-9-135-9-13-171-5-6-71-6-7-10……四、編程提高題232、給出一個自然數(shù)N(1<=N<=15,且N為奇數(shù)),要求找出這樣的N個連續(xù)的正整數(shù),使得前(N+1)/2個正整數(shù)的平方和,等于后(N-1)/2個正整數(shù)的平方和。例如:當(dāng)N=5時 滿足條件的5個正整數(shù)為:10,11,12,13,14 且102+112+122=132+142輸入:N輸出:滿足條件的N個正整數(shù) 234、給出一個正整數(shù)N(N<=32767),要求將其分解成質(zhì)因子的連乘積。 例如:當(dāng)N=24時 結(jié)果為:24=2*2*2*3(A) 又如;當(dāng)N=13時 輸出結(jié)果為:13=13 (B) 輸入:N輸出:如(A)或(B)格式的結(jié)果235、輸入N和一組整數(shù)(以0結(jié)束),N表示編號1,2,…,N的箱子,一組整數(shù)表示零件的重量(單位為G)?,F(xiàn)要求將一批零件,分別裝入編號為1,2,…,N的N只箱子中去,裝入的方法是: 0G< 零件重量<100G 裝入1號箱100G<=零件重量<150G 裝入2號箱150G<=零件重量<200G 裝入3號箱 …… …… 以此類推。裝完之后,要求找出哪只箱子中的零件個數(shù)最多,若有相同的最多則要求全部列出(僅列出箱子的號數(shù)即可),若因零件太重?zé)o箱子可裝,也應(yīng)輸出這類零件的個數(shù)。236、編制一個乘法運算的程序從鍵盤讀入2個100以內(nèi)的正整數(shù),進(jìn)行乘法計算并輸出。 例如:輸入格式:89 ,13 又如: 輸出格式: 89 輸入格式:16, 8 × 13 輸出格式: 16 267 × 8 890 128 1157237、輸入三個自然數(shù)N,I,J(1<=I<=N,1<=J<=N)。N表示有一個N行N列的棋盤格子,(I,J)表示棋盤中格子的位置。如:N-4,I-2,J-3表示了棋盤中的第二行第三列的格子。如下圖: 第一列 第二列 第三列 第四列(2,3) 要求編制一個程序,根據(jù)輸入的N,I,J的值,輸出與格子(I,J)在同一行、同一列、同一對角線上的所有各自位置。 例如:當(dāng)N=4,I=2,J=3時,輸出的結(jié)果是: (2,1)(2,2)(2,3)(2,4) {同一行上格子的位置} (1,3)(2,3)(3,3)(4,3) {同一列上格子的位置} (1,2)(2,3)(3,4) {左上到右下對角線上的格子位置} (4,1)(3,2)(2,3)(1,4) {左下到右上對角線上的格子位置}238、問題描述:給出一個正整數(shù)N(1≤N≤100),即可得到一個由N 個正整數(shù)組成的從1開始的如下數(shù)列:1,2,3,4,……N-2,N-1,N,且可求出從1開始的這N個數(shù)的全部各個數(shù)位上的數(shù)字之和。 例如:當(dāng)N=12時,這12個數(shù)是:1,2,3,4,5,6,7,8,9,10,11,12。則這12個數(shù)的數(shù)字之和為: S=1+2+3+4+5+6+7+8+9+1+0+1+1+1+2=51 239、問題描述:輸入兩個真分?jǐn)?shù)的分子與分母(分子與分母的值均不大于3000),對這兩個分?jǐn)?shù)進(jìn)行加法計算。若符合條件,則應(yīng)將計算的結(jié)果化為帶分?jǐn)?shù)。例如: 輸入 輸出 2, 5 1+1/15(帶分?jǐn)?shù)的表達(dá)形式)3,84/8 (不用約分) 240、問題描述:鍵盤輸入兩個高精度的整數(shù),編程實現(xiàn)這兩個高精度整數(shù)的減法運算,兩數(shù)均不會超過240位。要求輸出該減法運算的算式與結(jié)果。例如: 輸入 輸出 99998,9079 99998-9079=90919 123456,345678 123456-345678=-222222241、求數(shù)組元素 問題描述:給出任意一個自然數(shù)N(N≤100),輸出滿足下列條件的數(shù)組元素及不同方案數(shù),條件是: <1>數(shù)組元素由各不相同的自然數(shù)組成。 <2>數(shù)組元素的最后一個元素必為 n 。 <3>每一個數(shù)組元素都不小于它前面一個元素的平方( 第一個元素除 )。 <4>數(shù)組中包含的元素個數(shù)可不相同, 但至少要有一個元素。 例如: n=1 數(shù)組(1) k=1 (以 k 記錄不同的方案數(shù)) 又如 n=5 數(shù)組(5) (1,5) (1,2,5) (2,5) k=4 輸入:N(不用判錯) 輸出:一個整數(shù)(不同方案數(shù))242、所謂丑數(shù),就是那些因子只含2,3,5的數(shù)。1,2,3,4,5,6,8,9,10,12,15是最前面的11個丑數(shù)。為方便起見,將1也看作是丑數(shù)。請編寫一個程序?qū)ふ也⒋蛴〉贜個(N<=3000)個丑數(shù)。輸入:N輸出:The N'th ugly number is (其中N用輸入數(shù)取代,換為對就于N值所計算出的丑數(shù))輸入樣例:N=11輸出樣例:The 11'th ugly number is 15.243、找出N位自然數(shù)中(N<=8)具有下列性質(zhì)的數(shù):如果將這個數(shù)分為兩部分,且位數(shù)相等,然后將這兩部分相加,所得和的平方,等于原來那個數(shù)。從鍵盤輸入N,輸出符合性質(zhì)的數(shù),各數(shù)間用空格分隔。244、字母組合問題描述:字母A,B,C的所有可能的組合(按字典順序排序)是:A,AB,ABC,AC,B,BC,C每個組合都對應(yīng)一個字典順序的序號,如下所示:1 A2 AB3 ABC4 AC5 B6 BC7 C任務(wù)1:找出某個字母組合的字典序號。例如,AC的字典序號是4任務(wù)2:找出該字母組合下的第N個字母組合。例如N=2,即AC的后N個字母組合為BC輸入:輸入包括3行第一行 N 表示字母組合由字母表中前N個字母組成第二行 K 表示某一字母組合第三行 M 表示要求輸出前N個字母組成組合下的第個M字母組合輸出:輸出包括2行第一行 字母組合K的序號第二行 第M個字母組合輸入樣例:3 AB 6輸出樣例:2 BC245、字符串匹配問題字符串中只含有括號 (),[],<>,{},判斷輸入的字符串中括號是否匹配。如果括號有互相包含的形式,從內(nèi)到外必須是<>,(),[],{},例如。輸入: [()] 輸出:YES,而輸入([]), ([])都應(yīng)該輸出NO輸入:文件的第一行為一個整數(shù)n,表示以下有多少個由括好組成的字符串。接下來的n行,每行都是一個由括號組成的長度不超過255的字符串。(input.txt)輸出:在輸出文件中有N行,每行都是YES或NO。(output.txt)246、尋找第K大數(shù)一堆數(shù)有N個,我想從大到小排成一排,從中挑出第K大的那個數(shù)進(jìn)行采樣分析請你幫忙挑出來。輸入:輸入文件的第一行為二個整數(shù)N和K,表示整數(shù)的個數(shù)(N,K<=10000),下面N行每行為一個整數(shù),其值都在(-32768~32767)之間。(input.txt)輸出:輸出文件只有一個數(shù),為第K大整數(shù)(output.txt)247、自然數(shù)的分解方案數(shù)一個自然數(shù)可以寫成若干個小于等于自己的自然之和,這叫該自然數(shù)的一個分解。不同的分解是表示這個自然數(shù)分解成的所有自然數(shù)不完全相同。例如:3=2+1和3=1+1+1表示不同的分解。而3=2+1和3=1+2為相同的分解。現(xiàn)在的任務(wù)是,給出一個自然數(shù),要求所有不同的分解方案數(shù)。輸入:輸入文件的只有一個自然數(shù)N,N<=10000。(input.txt)輸出:輸出文件只有一個數(shù),為N的分解方案數(shù)。(output.txt)248、超級素數(shù):一個n位超級素數(shù)是指一個n位正整數(shù),它的前1位,前2位, . . . , 前n位均為素數(shù),例如,7331是個4位超級素數(shù),因為7,73,733,7331均為素數(shù)。由鍵盤輸入n (n<9), 然后輸出全部的n位超級素數(shù)。249、問題描述:一個整數(shù)的整數(shù)字串是由該整數(shù)的連續(xù)數(shù)位的數(shù)字構(gòu)成。程序名為例如:6158的子串包括6,1,5,8,61,15,58,615,158,6158任務(wù):找出最大的質(zhì)數(shù)子串輸入:整數(shù)N(0<=N<=1000000000)輸出:N的最大質(zhì)數(shù)子串,若所有子串都是非質(zhì)數(shù),則輸出“No primes”輸入樣例1: 2319輸出樣例1: 31輸入樣例2:6804輸出樣例2:No primes250、找出N位自然數(shù)中(N<=8)具有下列性質(zhì)的數(shù):如果將這個數(shù)分為兩部分,且位數(shù)相等,然后將這兩部分相加,所得和的平方,等于原來那個數(shù)。從鍵盤輸入N,輸出符合性質(zhì)的數(shù),各數(shù)間用空格分隔。我們知道,所謂的卡列列克運算,是指任意一個四位數(shù),只要它們各個位上的數(shù)不全相同,就有這樣的規(guī)律:程序名為step.pas把組成這個四位數(shù)的四個數(shù)字由大到小排列,形成由這四個數(shù)字構(gòu)成的最大的四位數(shù);把組成這個四位數(shù)的四個數(shù)字由小到大排列,形成由這四個數(shù)字構(gòu)成的最小的四位數(shù)(如果四個數(shù)字中含有0,則此數(shù)不足四位);求出以上兩數(shù)之差,得到一個新的四位數(shù)。重復(fù)以上過程,總能得到最后結(jié)果是6174。試編寫一個程序,實現(xiàn)卡布列克運算,要求以下面的格式輸出全部運算過程和結(jié)果,統(tǒng)計需要運算的步數(shù)(如下例為3步)。輸出格式: n=5346 6543-3456=3087 8730-378=8352 8532-2358=6174 SETP=3252、對于一個五位數(shù)a1a2a3a4a5,可將其拆分為三個子數(shù): sub1=a1a2a3 sub2=a2a3a4 sub3=a3a4a5 例如,五位數(shù)20207可以拆分成 sub1=202 sub2=020(=20) sub3=207 現(xiàn)在給定一個正整數(shù)K,要求你編程求出10000到30000之間所有滿足下述條件的五位數(shù),條件是這些五位數(shù)的三個子數(shù)sub1,sub2,sub3都可被K整除。輸入輸入由鍵盤輸入,輸入僅一行,為正整數(shù)K(0輸出輸出到文件,輸出文件的每一行為一個滿足條件的五位數(shù),要求從小到大輸出。不得重復(fù)輸出或遺漏。如果無解,則輸出“No”。樣例num.in15num.out22555255552855530000253、溢出 over.pas 問題描述 寫一個程序,讀入兩個非負(fù)整數(shù)及一個運算符號判斷兩整數(shù)及運算結(jié)果是否超出了PASCAL語言中關(guān)于長整數(shù)類型的定義。(長整數(shù)范圍為-2147483648到2147483647)輸入文件一行包含整數(shù)和運算符,運算符(‘+’,‘-’,‘*’,‘div’)輸出文件先輸出一遍原輸入,并在后面輸出0到3行適當(dāng)內(nèi)容,如:first number is too big second number is too bigresult number is too big例如: 輸入 輸出300+3 300+3300000*300000 300000*300000 result is too big9999999999999999999+1 9999999999999999999+1 first number is too big result number is too big建議用int64來處理,范圍大小是(-9223372036854775808 .. 9223372036854775807?)254、請你編一程序?qū)崿F(xiàn)兩種不同進(jìn)制之間的數(shù)據(jù)轉(zhuǎn)換。輸入:輸入數(shù)據(jù)共有三行,第一行是一個正整數(shù),表示需要轉(zhuǎn)換的數(shù)的進(jìn)制n(2≤n≤16),第二行是一個n進(jìn)制數(shù),若n>10則用大寫字母A~F表示數(shù)碼10~15,并且該n進(jìn)制數(shù)對應(yīng)的十進(jìn)制的值不超過1000000000,第三行也是一個正整數(shù),表示轉(zhuǎn)換之后的數(shù)的進(jìn)制m(2≤m≤16)。輸出: 輸出僅一行,包含一個正整數(shù),表示轉(zhuǎn)換之后的m進(jìn)制數(shù)。樣例:change.in16FF2change.out11111111255、階乘問題 也許你早就知道階乘的含義,N階乘是由1到N相乘而產(chǎn)生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001,60012的階乘最右邊的非零位為6。 寫一個程序,計算N(1<=N<=50,000,000)階乘的最右邊的非零位的值。注意:10,000,000!有2499999個零。輸入僅一行包含一個正整數(shù)N。輸出單獨一行包含一個整數(shù)表示最右邊的非零位的值。樣例fact.in12fact.out6256、4位數(shù)排列。 任給出4個非0的不同數(shù)字,求出由這4個數(shù)字組成的所有的4位數(shù)。 例如: 輸入:3 2 1 6 輸出:1 2 3 6 1 2 6 3 1 3 2 6 1 3 6 2 1 6 2 3 1 6 3 2 2 1 3 6 2 1 6 3 2 3 1 6 2 3 6 1 2 6 1 3 2 6 3 1 3 1 2 6 3 1 6 2 3 2 1 6 3 2 6 1 3 6 1 2 3 6 2 1 6 1 2 3 6 1 3 2 6 2 1 3 6 2 3 1 6 3 1 2 6 3 2 1 程序要求:從鍵盤輸入4個不同的非0數(shù)字,列出由這4個數(shù)字組成的所有4位數(shù),每行輸出6個。257、圓環(huán)上求素數(shù)。 將0,1,2,……9共10個數(shù)排成一圈(如下圖) 給出一個取數(shù)長度L(1<=L<=5),然后從1開始按順時針方向連續(xù)取L個數(shù)字,拼成一個長為L位的數(shù)。此時共有9個長為L位的數(shù),然后輸出這9個數(shù)中的素數(shù)。 例如:L=2,此時9個長為L位的數(shù)為: 12,23,34,45,56,67,78,89,90 其中素數(shù)有:23,67,89程序要求:輸入:L 輸出:全部滿足條件的素數(shù)。如果沒有則輸出No258、求分?jǐn)?shù)和的最小值。 給出一個數(shù)字字符串,即字符串中的字符全部為數(shù)字,并以字符'$'結(jié)束(字符'$'本身不是數(shù)字符,僅作為結(jié)束符號)。 例如: '12$','2135$','312456$',…… 并設(shè)字符串的長度L<=8(包括'$')。 今將數(shù)字字符串分成三個部分(分法為任意的),例如: '312456$'可分為'3','124','56'; 或者'31','24','56',……從上例可看出,當(dāng)數(shù)字串給出之后,分成三部分的分法是許多的(每一部分不能為空),對每一種分法,可以得到三個數(shù)和三個分?jǐn)?shù).例如: 分法'3','124','56'對應(yīng)的三個數(shù)為3,124,56 對應(yīng)分?jǐn)?shù)為:1/3,1/124,1/56。 分法'31','24','56'對應(yīng)的三個數(shù)為31,24,56 對應(yīng)分?jǐn)?shù)為:1/31,1/24,1/56。 程序要求:從鍵盤輸入一個數(shù)字串(以'$'作為結(jié)束符號)。找出一種分法,使得到的三個分?jǐn)?shù)的和S為最小,輸出S的值(精確到小數(shù)點后的第6位)。 若給出的數(shù)字串中,非0的字符少于3個,則此時不能組成三個數(shù),輸出一個'ERROR'。 例如:'12$','100100$'……259、最大最小差(MaxMin) 問題描述: 現(xiàn)在有N個正整數(shù),每一次去掉其中2個數(shù)a和b,然后加入一個數(shù)a*b+1,這樣最后只剩下一個數(shù)P。要求求出最大的P記為MaxP,最小的p記MinP,和他們的差K=MaxP-MinP。 對于給定的數(shù)列,編程計算出它的Max,Min和K。 輸入文件(MAXMIN.IN): 第一行是數(shù)列的長度N(不超過50),以下N行,每行一個正整數(shù)(不超過2位)。 輸出文件(MAXMIN.OUT): 輸出一共三行,每行一個整數(shù),依次為max,min,K。 輸入輸出樣例: MAXMIN.IN MAXMIN.OUT 2 1 1 2 2 0 260、輸入一個英文句子,例如:“This is a Book.",可以看到句子是以“.”來作為結(jié)束符號的,并且單詞之間以一個空格來分隔。接著再輸入一個單詞A,請找出首次在句子中出現(xiàn)的與A$相同的單詞,是句子中的第幾個單詞,若不存在,則輸出該句子中單詞字符的總個數(shù)。 例如對上句子而言,若輸入單詞“is”,則應(yīng)輸出: 2 若輸入單詞“isa”,則應(yīng)輸出:11261、我們將左右對稱的自然數(shù)稱為回文數(shù),例如:121,4114等;將只能被1與其本身整除的自然數(shù)稱之為素數(shù),例如:7,353等。鍵入N,M,求出N至M(含N與M)之間既是回文數(shù)又是素數(shù)的自然數(shù)共有多少個?262、現(xiàn)代數(shù)學(xué)的著名證明之一是Georg Cantor證明了有理數(shù)是可枚舉的。他是用下面這一張表來證明這一命題的: 1/1 1/2 1/3 1/4 1/5 …2/1 2/2 2/3 2/4 …3/1 3/2 3/3 …4/1 4/2 …5/1 …… 我們以Z字形給上表的每一項編號。第1項是1/1,然后是1/2,2/1,3/1,2/2,... 輸入:整數(shù)N(1<=N<=107) 輸出:表中的第N項。 樣例: INPUT N=7 OUT PUT 1/4263、給出二個任意的正整數(shù)N,K(1<=N<=10000,0<=K (1)從N中連續(xù)減去2R(R=0,1,2,3,...) (2)當(dāng)剩余的數(shù)不夠減時,則將其加上K,再重復(fù)(1)的操作過程。 (3)若剩余的數(shù)為0時,則結(jié)束操作并輸出進(jìn)行減法的次數(shù)。 (4)若存在永遠(yuǎn)不能減完的情況,則輸出信息“ERROR!”。 例如:當(dāng)N=4,K=2時,操作過程如下: 1)4-1=3 減2︿0 2)3-2=1 減2︿1 由于不夠減,所以加K的值2,得:N=1+2=3 3)3-1=2 減2︿0 4)2-2=0 減2︿1 此時結(jié)果為0,則輸出:STEP=4(表示進(jìn)行了4次減法操作運算) 又如:當(dāng)N=2,K=1時,操作過程如下: 1)2-1=1 減2︿0 由于不夠下次減,所以加K的值1,得:N=1+1=2 2)2-1=1 減2︿0 ………… 在這種情況下,永遠(yuǎn)不能減完,則輸出信息“ERROR!” 264、生日日期 ( Birthday ) 問題描述:小甜甜的生日是YY年MM月DD日,他想知道自己出生后第一萬天紀(jì)念日的日期(出生日算第0天)。輸入格式:從文件的第一行分別讀入YY,MM,DD其中1949<=YY<=2002,日期絕對合法。輸出格式:輸出文件只有一行,即小甜甜生日第一萬天以后的日期,格式為 “YY-MM-DD”。樣例:BIRTHDAY.DATBIRTHDAY.OUT1975 7 152002-11-30265、 分解因式 ( Factor )問題描述:一個自然數(shù)N的正因子個數(shù)記為F(N),例如18的所有正因子為1、2、3、6、9、18,所以F(18)=6。現(xiàn)在給出K,求所有滿足F(N)=K的N中最小的數(shù)。輸入格式:從文件讀入數(shù)據(jù),第一行為K,其中0輸出格式:輸出到文件第一行,如果存在不大于20000的解,則輸出這個N,否則輸出“NO SOLUTION”。樣例1:FACTOR.DATFACTOR.OUT936樣例2:FACTOR.DATFACTOR.OUT17NO SOLUTION266、 K好數(shù)(K-Good Number)問題描述:如果一個自然數(shù)N的K進(jìn)制表示中任意的相鄰的兩位都不是相鄰的數(shù)字,那么我們就說這個數(shù)是K好數(shù)。求L位K進(jìn)制數(shù)中K好數(shù)的數(shù)目。例如K = 4,L = 2的時候,所有K好數(shù)為11、13、20、22、30、31、33 共7個。給定K、L,求L位K好數(shù)的數(shù)目。輸入格式:從文件讀入數(shù)據(jù),第一行為K、L,其中K<=16,L<=10。輸出格式:將結(jié)果輸出到 KGOOD.OUT樣例KGOOD.DATKGOOD.OUT4 27267、Sramoc問題 ( Sramoc Problem )問題描述:Sramoc ( K , M ) 表示用數(shù)字0、1、2…、K-1組成的自然數(shù)中能被M整除的最小數(shù)。給定 K、M,求Sramoc ( K,M )。例如 K=2,M=7的時候,Sramoc( 2 , 7 ) = 1001。輸入格式:從文件SRAMOC.DAT讀入數(shù)據(jù)。第一行為兩個整數(shù)K、M滿足2<=K<=10、1<=M<=1000。輸出格式:輸出Sramoc(K,M) 到 SRAMOC.OUT。樣例SRAMOC.DATSRAMOC.OUT2 71001268、 數(shù)位和與積 ?試編寫程序求出自然數(shù)n的各個數(shù)位之和與之積。??輸入:文件中的以此存放了若干個自然數(shù) n(n<500000)。??輸出:各行依次輸出每一個自然數(shù)n的各個數(shù)位之和與之積。??例如:??? 輸入????? 92 23??? 輸出????? 11 18????? 5 6269、順序數(shù)串無窮小數(shù)小明構(gòu)造了一個無窮小數(shù)x=0.1234567891011…9899100101…,其中的數(shù)字是依次寫下各自然數(shù)而得到的。試求出小數(shù)點后第m位數(shù)字。?? 輸入:文件中每行有一個整數(shù)m( m<=20000)。?? 輸出:輸出文件中每行有一個數(shù)字,存放著小數(shù)點后第m位數(shù)字。?? 例如:???? 輸入????? 4????? 15???? 輸出????? 4????? 2270、NCL是一家專門從事計算器改良與升級的實驗室,最近該實驗室收到了某公司所委托的一個任務(wù):需要在該公司某型號的計算器上加上解一元一次方程的功能。實驗室將這個任務(wù)交給了一個剛進(jìn)入的新手ZL先生。為了很好的完成這個任務(wù),ZL先生首先研究了一些一元一次方程的實例: 4+3x=8 6a-5+1=2-2a -5+12y=0ZL先生被主管告之,在計算器上鍵入的一個一元一次方程中,只包含整數(shù)、小寫字母及+、-、=這三個數(shù)學(xué)符號(當(dāng)然,符號“─”既可作減號,也可作負(fù)號)。方程中并沒有括號,也沒有除號,方程中的字母表示未知數(shù)。 問題求解 編寫程序,解輸入的一元一次方程, 將解方程的結(jié)果(精確至小數(shù)點后三位)輸出至屏幕。 你可假設(shè)對鍵入的方程的正確性的判斷是由另一個程序員在做,或者說可認(rèn)為鍵入的一元一次方程均為合法的,且有唯一實數(shù)解。 樣 例 輸入: 6a-5+1=2-2a 輸出: a=0.750271、任意給定一個自然數(shù)N,尋找一個M,要求M是N的倍數(shù),且它的所有各位數(shù)字都是0或1組成,并要求M盡可能小例如:輸入 3 輸出 3*37=111 輸入 31 輸出 31*3581=111011 272、由M個數(shù)組成環(huán)行,要求輸出他們相鄰的四個數(shù)的最大值和最少值(輸出第一行為最大值,第二行為最少值)例如: 輸入 52 3 4 5 輸出: 14 10273、方陣填數(shù):在一個NN的方陣中,填入1,2,……NN個數(shù),并要求構(gòu)成如下的格式:例:274、若將一個正整數(shù)化為二進(jìn)制數(shù),在此二進(jìn)制數(shù)中,我們將數(shù)字1的個數(shù)多于數(shù)字0的個數(shù)的這類二進(jìn)制數(shù)稱為A類數(shù),否則就稱其為B類數(shù)。 例如:(13)10=(1101)2 其中1的個數(shù)為3,0的個數(shù)為1,則稱此數(shù)為A類數(shù); (10)10=(1010)2 其中1的個數(shù)為2,0的個數(shù)也為2,稱此數(shù)為B類數(shù); (24)10=(11000)2 其中1的個數(shù)為2,0的個數(shù)為3,則稱此數(shù)為B類數(shù); 程序要求:求出1~n之中(包括1與1000),全部A、B兩類數(shù)的個數(shù)。例如:輸入 1輸出A:1 B:0 275、問題描述:給出n個整數(shù)x1,x2,x3,x4..xn,將這n個數(shù)從小到大排序為:A1,A2,A3,A4..AN,記數(shù)列A1,A2,A3,A4..AN的奇數(shù)項之和為P,偶數(shù)項之和為Q,令T=|P-Q|求出T的值。輸入格式:輸入文件的第一行為整數(shù)N(1<=n<=50000)。接下來的N行每行有一個整數(shù),按順序給出X1,X2,X3,..XN的值(|Xi|<=1000)輸出格式:輸出整數(shù)T的值。輸入樣例:3132輸出樣例:2276、破碎的項鏈問題描述:你有一條由N個紅色的,白色的,或藍(lán)色的珠子組成的項鏈(3<=N<=350),珠子是隨意安排的。 這里是 n=29 的二個例子: 1 2 1 2 r b b r b r r b r b b b r r b r r r w r b r w w b b r r b b b b b b r b r r b r b r r r b r r r r r r b r b r r r w 圖片 A 圖片 B r 代表 紅色的珠子 b 代表 藍(lán)色的珠子 w 代表 白色的珠子第一和第二個珠子在圖片中已經(jīng)被作記號。?圖片 A 中的項鏈可以用下面的字符串表示:?brbrrrbbbrrrrrbrrbbrbbbbrrrrb.?假如你要在一些點打破項鏈,展開成一條直線,然后從一端開始收集同顏色的珠子直到你遇到一個不同的顏色珠子,在另一端做同樣的事。(顏色可能與在這之前收集的不同) 確定應(yīng)該在哪里打破項鏈來收集到最大多數(shù)的數(shù)目的子。 Example 舉例來說,在圖片 A 中的項鏈,可以收集到8個珠子,在珠子 9 和珠子 10 或珠子 24 和珠子 25 之間打斷項鏈。 在一些項鏈中,包括白色的珠子如圖片 B 所示。 當(dāng)收集珠子的時候,一個被遇到的白色珠子可以被當(dāng)做紅色也可以被當(dāng)做藍(lán)色。 表現(xiàn)項鏈的字符串將會包括三符號 r , b 和 w 。 寫一個程序來確定從一條被供應(yīng)的項鏈最大可以被收集珠子數(shù)目。?PROGRAM NAME: beadsINPUT FORMAT?第 1 行: N, 珠子的數(shù)目?第 2 行: 一串度為N的字符串, 每個字符是 r , b 或 w。?SAMPLE INPUT (file beads.in)?29?wwwbbrwrbrbrrbrbrwrwwrbwrwrrb?OUTPUT FORMAT?單獨的一行包含從被供應(yīng)的項鏈可以被收集的珠子數(shù)目的最大值。?SAMPLE OUTPUT (file beads.out)?11 277、 騎士問題問題描述:在一個標(biāo)準(zhǔn)8*8的國際象棋棋盤上,棋盤中有些格子可能是有障礙物的。已知騎士的初始位置和目標(biāo)位置,你的任務(wù)是計算出騎士最少需要多少步可以從初始位置到達(dá)目標(biāo)位置。有障礙物的格子當(dāng)然不可以到達(dá)。 標(biāo)準(zhǔn)的8*8的國際象棋棋盤中每一個格子可以用唯一的編號確定。行用1-8這個8個數(shù)字依次表示,列用’a’-‘h’這8個字母依次表示。例如左下圖的騎士所在位置(圖中有n的格子)的編號為“d4”(注意’d’和’4’之間沒有空格)我們知道國際象棋中的騎士可以按”L”路線移動(一個方向走2個格子接著垂直方向走1個格子)。因此,如左上圖中的騎士(位于d4),可以到達(dá)位置c2,b3,b5,c6,e6,f5,f3和e2(圖中有’x’標(biāo)記的格子)。此外,騎士不能移出棋盤。騎士可以按照移動規(guī)則自由地在棋盤上沒有障礙物的格子中移動。右上圖給出了一個騎士移動的例子。初始格子用’n’標(biāo)記,目標(biāo)格子用’N’標(biāo)記,有障礙物的格子用’b’標(biāo)記。一個可行的移動序列在圖中用數(shù)字標(biāo)記出來。(a1,b3,a5,c6,e5,g4,h2,f1)??偣残枰?步才能完成。事實上,這也就是最小的步數(shù)了。輸入格式:輸入文件包括1個或多個測試數(shù)據(jù)。每一個測試數(shù)據(jù)的第一行是一個整數(shù)b(-1<=b<=62),表示棋盤中有障礙物的格子數(shù)目。當(dāng)b=-1時,輸入文件結(jié)束。第二行含b個不同的有障礙物的格子編號,用空格隔開。當(dāng)b=0時,此行為空行。第三行是騎士的初始格子和目標(biāo)格子的編號,也是用空格隔開。初始格子和目標(biāo)格子是不同的。且都沒有障礙物。輸出格式:對于每個數(shù)據(jù),輸出一行。格式:Board n: m moves其中n表示數(shù)據(jù)的序號(從1開始)m表示騎士所用的最小的步數(shù)。 如果騎士無法到達(dá)目標(biāo)格子,輸出:Board n: not reachable輸入樣例:10c1 d1 c5 c2 c3 c4 d2 d3 d4 d5a1 f10c1 b32b3 c2 a1 b2-1輸出樣例:Board 1: 7 movesBoard 2: 1 movesBoard 3: not reachable278、 集合刪數(shù)問題描述:一個集合有如下元素:1是集合元素;若P是集合的元素,則2 * P +1,4*P+5也是集合的元素,取出此集合中最小的K個元素,按從小到大的順序組合成一個多位數(shù),現(xiàn)要求從中刪除M個數(shù)位上的數(shù)字,使得剩下的數(shù)字最大,編程輸出刪除前和刪除后的多位數(shù)字。注:不存在所有數(shù)被刪除的情況`輸入格式:輸入的僅一行,K,M的值,K,M均小于等于30000。輸出格式:輸出為兩行,第一行為刪除前的數(shù)字,第二行為刪除后的數(shù)字。樣例輸入:5 4樣例輸出:137915279、乒乓球( Table.pas)【問題背景】國際乒聯(lián)現(xiàn)在主席沙拉拉自從上任以來就立志于推行一系列改革,以推動乒乓球運動在全球的普及。其中 11分制改革引起了很大的爭議,有一部分球員因為無法適應(yīng)新規(guī)則只能選擇退役。華華就是其中一位,他退役之后走上了乒乓球研究工作,意圖弄明白 11分制和 21分制對選手的不同影響。在開展他的研究之前,他首先需要對他多年比賽的統(tǒng)計數(shù)據(jù)進(jìn)行一些分析,所以需要你的幫忙。【問題描述】華華通過以下方式進(jìn)行分析,首先將比賽每個球的勝負(fù)列成一張表,然后分別計算在 11分制和 21分制下,雙方的比賽結(jié)果(截至記錄末尾)。比如現(xiàn)在有這么一份記錄,(其中 W表示華華獲得一分, L表示華華對手獲得一分):WWWWWWWWWWWWWWWWWWWWWWLW在 11分制下,此時比賽的結(jié)果是華華第一局 11比 0獲勝,第二局 11比 0獲勝,正在進(jìn)行第三局,當(dāng)前比分 1比 1。而在 21分制下,此時比賽結(jié)果是華華第一局 21比 0獲勝,正在進(jìn)行第二局,比分 2比 1。如果一局比賽剛開始,則此時比分為 0比 0。你的程序就是要對于一系列比賽信息的輸入( WL形式),輸出正確的結(jié)果。【輸入格式】每個輸入文件包含若干行字符串(每行至多 20個字母),字符串有大寫的 W、 L和 E組成。其中 E表示比賽信息結(jié)束,程序應(yīng)該忽略 E之后的所有內(nèi)容。【輸出格式】輸出由兩部分組成,每部分有若干行,每一行對應(yīng)一局比賽的比分(按比賽信息輸入順序)。其中第一部分是 11分制下的結(jié)果,第二部分是 21分制下的結(jié)果,兩部分之間由一個空行分隔。(注意,如果比分不差2分,那么就是要接著到,例如當(dāng)比分是11:10時,此時比賽不應(yīng)該結(jié)束,繼續(xù)打,直到比分差2分假設(shè)打到22:20此時便可以停止)【輸入樣例】WWWWWWWWWWWWWWWWWWWWWWLWE【輸出樣例】11:011:01:1? 21:02:1280、不高興的津津【問題描述】 津津上初中了。媽媽認(rèn)為津津應(yīng)該更加用功學(xué)習(xí),所以津津除了上學(xué)之外,還要參加媽媽為她報名的各科復(fù)習(xí)班。另外每周媽媽還會送她去學(xué)習(xí)朗誦、舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且上得越久就會越不高興。假設(shè)津津不會因為其它事不高興,并且她的不高興不會持續(xù)到第二天。請你幫忙檢查一下津津下周的日程安排,看看下周她會不會不高興;如果會的話,哪天最不高興。【輸入文件】 輸入文件unhappy.in包括七行數(shù)據(jù),分別表示周一到周日的日程安排。每行包括兩個小于10的非負(fù)整數(shù),用空格隔開,分別表示津津在學(xué)校上課的時間和媽媽安排她上課的時間。 【輸出文件】 輸出文件unhappy.out包括一行,這一行只包含一個數(shù)字。如果不會不高興則輸出0,如果會則輸出最不高興的是周幾(用1, 2, 3, 4, 5, 6, 7分別表示周一,周二,周三,周四,周五,周六,周日)。如果有兩天或兩天以上不高興的程度相當(dāng),則輸出時間最靠前的一天。 【樣例輸入】 5 3 6 2 7 2 5 3 5 4 0 4 0 6 【樣例輸出】3 花生采摘(peanuts.pas/dpr/c/cpp) 【問題描述】 魯賓遜先生有一只寵物猴,名叫多多。這天,他們兩個正沿著鄉(xiāng)間小路散步,突然發(fā)現(xiàn)路邊的告示牌上貼著一張小小的紙條:“歡迎免費品嘗我種的花生!——熊字”。 魯賓遜先生和多多都很開心,因為花生正是他們的最愛。在告示牌背后,路邊真的有一塊花生田,花生植株整齊地排列成矩形網(wǎng)格(如圖1)。有經(jīng)驗的多多一眼就能看出,每棵花生植株下的花生有多少。為了訓(xùn)練多多的算術(shù),魯賓遜先生說:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此類推,不過你一定要在我限定的時間內(nèi)回到路邊?!?我們假定多多在每個單位時間內(nèi),可以做下列四件事情中的一件: 1)??????從路邊跳到最靠近路邊(即第一行)的某棵花生植株; 2)??????從一棵植株跳到前后左右與之相鄰的另一棵植株;3)??????采摘一棵植株下的花生;4)??????從最靠近路邊(即第一行)的某棵花生植株跳回路邊。 現(xiàn)在給定一塊花生田的大小和花生的分布,請問在限定時間內(nèi),多多最多可以采到多少個花生?注意可能只有部分植株下面長有花生,假設(shè)這些植株下的花生個數(shù)各不相同。例如在圖2所示的花生田里,只有位于(2, 5), (3, 7), (4, 2), (5, 4)的植株下長有花生,個數(shù)分別為13, 7, 15, 9。沿著圖示的路線,多多在21個單位時間內(nèi),最多可以采到37個花生。 【輸入文件】 輸入文件peanuts.in的第一行包括三個整數(shù),M, N和K,用空格隔開;表示花生田的大小為M * N(1 <= M, N <= 20),多多采花生的限定時間為K(0 <= K <= 1000)個單位時間。接下來的M行,每行包括N個非負(fù)整數(shù),也用空格隔開;第i + 1行的第j個整數(shù)Pij(0 <= Pij <= 500)表示花生田里植株(i, j)下花生的數(shù)目,0表示該植株下沒有花生。【輸出文件】輸出文件peanuts.out包括一行,這一行只包含一個整數(shù),即在限定時間內(nèi),多多最多可以采到花生的個數(shù)。 【樣例輸入1】 6 7 21 0 0 0 0 0 0 0 0 0 0 0 13 0 00 0 0 0 0 0 7 0 15 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 【樣例輸出1】37 【樣例輸入2】 6 7 20 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 7 0 15 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 【樣例輸出2】28回文質(zhì)數(shù)因為151即是一個質(zhì)數(shù)又是一個回文數(shù)(從左到右和從右到左是看一樣的),所以 151 號是回文質(zhì)數(shù)。寫一個程序來找出范圍[a,b](5 <= a < b <= 100,000,000)間的所有回文質(zhì)數(shù);PROGRAM NAME: pprimeINPUT FORMAT第 1 行: 二個整數(shù) a 和 b .SAMPLE INPUT (file pprime.in) 5 500OUTPUT FORMAT輸出一個回文質(zhì)數(shù)的列表,一行一個。SAMPLE OUTPUT (file pprime.out)5711101131151181191313353373383,283、你要乘坐的飛碟在這里一個眾所周知的事實,在每一慧星后面是一個不明飛行物UFO。 這些不明飛行物時常來收集來自在地球上忠誠的支持者。 不幸地,他們的空間在每次旅行只能帶上一群支持者。 他們要做的是用一種聰明的方案讓每一個團(tuán)體人被慧星帶走。 他們?yōu)槊總€慧星起了一個名字,通過這些名字來決定一個團(tuán)體是不是特定的慧星帶走。 那個相配方案的細(xì)節(jié)在下面被給出;?你的工作要寫一個程序來通過團(tuán)體的名字和彗星的名字來決定一個組是否應(yīng)該與在那一顆慧星后面的不明飛行物搭配。團(tuán)體的名字和慧星的名字都以下列各項方式轉(zhuǎn)換成一個數(shù)字: 這個最后的數(shù)字代表名字中所有字母的信息,"A" 是 1 和 "Z" 是 26。舉例來說,團(tuán)體 "USACO" 會是 21*19*1*3*15=17955 。 如果團(tuán)體的數(shù)字 mod 47 等于慧星的數(shù)字 mod 47,那么你要告訴這個團(tuán)體準(zhǔn)備好被帶走 !?寫一個程序讀入慧星的名字和團(tuán)體的名字,如果搭配打印"GO"否者打印"STAY" 團(tuán)體的名字和慧星的名字將會是沒有空格或標(biāo)點的一串大寫字母(不超過6個字母), Examples: Input Output COMETQHVNGATGO ABSTARUSACO STAY PROGRAM NAME: ride INPUT FORMAT 第 1 行:彗星的名字(一個長度為1到6的字符串)第 2 行: ?團(tuán)體的名字(一個長度為1到6的字符串)?SAMPLE INPUT (file ride.in)?COMETQ HVNGAT?OUTPUT FORMAT?單獨一行包含"STAR"或"GO".?SAMPLE OUTPUT (file ride.out)?GO284、踩氣球每年的六月一號都是兒童節(jié),電視上面都想往常一樣都會有一個踩氣球的節(jié)目,其實規(guī)則很簡單:在地上放了100個標(biāo)了數(shù)字的氣球,即氣球上分別標(biāo)1到100的數(shù)字,裁判一聲槍響,兩個隊員同時開始踩氣球,開始每個人的分?jǐn)?shù)都為1分,當(dāng)他踩破幾號球,便將他的分?jǐn)?shù)乘以這個數(shù)字,如:甲第一個踩破了41號,乙第一個踩破了56號,他們的分?jǐn)?shù)分別是41分和56分,以此類推。一分鐘后,雙方停止,其余沒踩破的氣球被拿走,最后看誰的分?jǐn)?shù)最高便假定是勝者[--非最后確認(rèn)的,只是暫時認(rèn)為,假如“甲”為暫時的勝者--] 然而,這個結(jié)果沒有被裁判確認(rèn)前,先要進(jìn)行一項活動,就是敗者向勝者進(jìn)行質(zhì)問,如果發(fā)現(xiàn)勝者[甲]說的是假話,則乙勝利,如果勝者[甲]說的是真話,則甲勝利。 譬如,甲說他得了343分,乙說他得了49分,很顯然,甲說謊話,因為343的因子只有1、7和49,而49的因子只有1、7、49,故他們踩了重復(fù)的球,而這是不可能的,故乙勝利。 但是,如果甲說他得了162分,乙得了81分,雖然162=81乘2,但是,2乘3乘27也可以得162分,故甲說得有可能是真話,故甲勝利。 順便說一下,如果敗者說了假話,則勝者勝利,無論他是否說了真話,譬如,甲說他得了10003分,而乙說他得了10001分,顯然,兩個人都說了假話,但是我們還是判定甲勝利。 不幸的是,在場的每個人都沉迷于激動人心的比賽,包括裁判沒有誰能靜下心來計算這么復(fù)雜的東西,故要求聰明的你來設(shè)計一個程序來判定誰贏得了最后的勝利。測試數(shù)據(jù)輸入343 493599 61062 36輸出4961062285、輸入包括4個部分1.一部字典,至少有一個單詞,最多有100個單詞,一個一行2.單獨一行‘XXXXXX’表示字典結(jié)束3.很多單詞,一行一個4.2.單獨一行‘XXXXXX’表示輸入單詞結(jié)束輸出:每一個單詞都對應(yīng)輸出,這個單詞與字典中的某個單詞的字母都匹配的單詞(很拗口)。例如字典中有abcd,而給你的單詞是dcba那么就把abcd輸出。如果字典中沒有任何的單詞與給出的單詞匹配的話,那么輸出‘NOT A VALID WORD’。當(dāng)輸出完一個單詞的全部匹配后,就輸出一行‘******’表示結(jié)束。Sample Input tarpgivenscorerefundonlytrapworkearncoursepepperpartXXXXXXresconfudreaptrsettoresucXXXXXXSample Outputscore******refund******parttarptrap******NOT A VALID WORD******course******286、丑數(shù)丑數(shù)就是這個數(shù)的質(zhì)因子只有2,3,5,7這四個,除此之外不再含有其它別的質(zhì)因子。注意1也被認(rèn)為是丑數(shù).丑數(shù)的前20個為1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, ... 1 <= n <= 5842 輸入以0結(jié)束Sample Input1234111213212223100100058420Sample OutputThe 1st humble number is 1.The 2nd humble number is 2.The 3rd humble number is 3.The 4th humble number is 4.The 11th humble number is 12.The 12th humble number is 14.The 13th humble number is 15.The 21st humble number is 28.The 22nd humble number is 30.The 23rd humble number is 32.The 100th humble number is 450.The 1000th humble number is 385875.The 5842nd humble number is 2000000000.287、均分紙牌[問題描述]有 N 堆紙牌,編號分別為 1,2,…, N。每堆上有若干張,但紙牌總數(shù)必為 N 的倍數(shù)。可以在任一堆上取若干張紙牌,然后移動。移牌規(guī)則為:在編號為 1 堆上取的紙牌,只能移到編號為 2 的堆上;在編號為 N 的堆上取的紙牌,只能移到編號為 N-1 的堆上;其他堆上取的紙牌,可以移到相鄰左邊或右邊的堆上。現(xiàn)在要求找出一種移動方法,用最少的移動次數(shù)使每堆上紙牌數(shù)都一樣多。例如 N=4,4 堆紙牌數(shù)分別為:① 9?、凇? ③ 17?、堋?移動3次可達(dá)到目的:從 ③ 取 4 張牌放到 ④ (9 8 13 10) -> 從 ③ 取 3 張牌放到 ②(9 11 10 10)-> 從 ② 取 1 張牌放到①(10 10 10 10)。[輸 入]:鍵盤輸入文件名。文件格式:N(N 堆紙牌,1 <= N <= 100)A1 A2 … An (N 堆紙牌,每堆紙牌初始數(shù),l<= Ai <=10000)[輸 出]:輸出至屏幕。格式為:所有堆均達(dá)到相等時的最少移動次數(shù)。[輸入輸出樣例]a.in: 4 9 8 17 6 屏慕顯示: 3288、 最短路徑[問題描述]設(shè)有n個城市,依次編號為0,1,2,…,n-1,另外有一個文件保存n個城市之間的距離。當(dāng)兩城市之間的距離等于-1時,表示這兩個城市沒有直接連接。求指定城市k到每一個城市I(0≤I,k≤n-1)的最短距離。保存數(shù)據(jù)的文件名從鍵盤輸入。[輸 入]:鍵盤輸入文件名,文件格式:第一行有兩個整數(shù)n和k,中間用空格隔開;以下是一個N×N的矩陣,表示城市間的距離,數(shù)據(jù)用空格隔開。[輸 出]:輸出至屏幕。格式為:輸出指定城市k到各城市間的距離。[輸入輸出樣例]輸入:INPUT.TXT 輸出:5 3 60 100 0 10 300 40 65 –1 3040 0 105 –1 –165 105 0 10 35-1 –1 10 0 2030 –1 35 20 0289、 背包問題[問題描述]從 n 種不同重量、不同價值的物品中選取一部分物品。要求在不超過限定重量 limw 的前提下,使被選取的那些物品的總價值較大。這里約定 limw 不超過 n 種物品的重量總和,也沒有一種物品的重量超過 limw ,并且各物品的價值都大于 0 。設(shè)在程序中,n 種物品被順序編號為 0、1、2、......、n-1。[輸 入]:從鍵盤輸入物品的種數(shù)n和限定重量limw的值,以及各種物品的重量和價值。格式為:先輸入兩個整數(shù)n和limw,中間用空格隔開;接著輸入n行,每行兩個整數(shù)表示每種物品的重量和價值,數(shù)據(jù)用空格隔開。[輸 出]:輸出至屏幕。格式為:輸出所選取的那些物品的序號和最大總價值[輸入輸出樣例]輸入: 輸出:5 20 16 1 3 8 2 411 3 Total value=117 44 5290、 字串變換 (存盤名: st4,本題30分)[問題描述]:已知有兩個字串 A$, B$ 及一組字串變換的規(guī)則(至多6個規(guī)則): A1$ -> B1$ A2$ -> B2$規(guī)則的含義為:在 A$中的子串 A1$ 可以變換為 B1$、A2$ 可以變換為 B2$ …。 例如:A$='abcd' B$='xyz'變換規(guī)則為: 'abc'->'xu' 'ud'->'y' 'y'->'yz'則此時,A$ 可以經(jīng)過一系列的變換變?yōu)?B$,其變換的過程為: 'abcd'->'xud'->'xy'->'xyz'共進(jìn)行了三次變換,使得 A$ 變換為B$。[輸入]:鍵盤輸人文件名。文件格式如下: A$ B$ A1$ B1$ A2$ B2$ |-> 變換規(guī)則 ... ... / 所有字符串長度的上限為 20。[輸出]:輸出至屏幕。格式如下:若在 10 步(包含 10步)以內(nèi)能將 A$ 變換為 B$ ,則輸出最少的變換步數(shù);否則輸出"NO ANSWER!"[輸入輸出樣例]b.in: abcd xyz abc xu ud y y yz 屏幕顯示: 3290、稅收與補貼問題 問題描述 每樣商品的價格越低,其銷量就會相應(yīng)增大?,F(xiàn)已知某種商品的成本及其在若干價位上的銷量(產(chǎn)品不會低于成本銷售),并假設(shè)相鄰價位間銷量的變化是線性的且在價格高于給定的最高價位后,銷量以某固定數(shù)值遞減。(我們假設(shè)價格及銷售量都是整數(shù)) 對于某些特殊商品,不可能完全由市場去調(diào)節(jié)其價格。這時候就需要政府以稅收或補貼的方式來控制。(所謂稅收或補貼就是對于每個產(chǎn)品收取或給予生產(chǎn)廠家固定金額的貨幣) 問題求解 你是某家咨詢公司的項目經(jīng)理,現(xiàn)在你已經(jīng)知道政府對某種商品的預(yù)期價格,以及在各種價位上的銷售情況。要求你確定政府對此商品是應(yīng)收稅還是補貼的最少金額(也為整數(shù)),才能使商家在這樣一種政府預(yù)期的價格上,獲取相對其他價位上的最大總利潤。 總利潤 = 單位商品利潤 * 銷量 單位商品利潤 = 單位商品價格 – 單位商品成本 (– 稅金 or + 補貼) 輸 入 輸入的第一行為政府對某種商品的預(yù)期價,第二行有兩個整數(shù),第一個整數(shù)為商品成本,第二個整數(shù)為以成本價銷售時的銷量售,以下若干行每行都有兩個整數(shù),第一個為某價位時的單價,第二個為此時的銷量,以一行-1,-1表示所有已知價位及對應(yīng)的銷量輸入完畢,輸入的最后一行為一個單獨的整數(shù)表示在已知的最高單價外每升高一塊錢將減少的銷量。 輸 出 輸出有兩種情況:若在政府預(yù)期價上能得到最大總利潤,則輸出一個單獨的整數(shù),數(shù)的正負(fù)表示是補貼還是收稅,數(shù)的大小表示補貼或收稅的金額最小值。若有多解,取絕對值最小的輸出。 如在政府預(yù)期價上不能得到最大總利潤,則輸出“NO SOLUTION”. 樣 例 輸入 31 28 130 30 120 31 110 -1 –1 15 輸出 4291、乘積最大問題描述 今年是國際數(shù)學(xué)聯(lián)盟確定的“2000——世界數(shù)學(xué)年”,又恰逢我國著名數(shù)學(xué)家華羅庚先生誕辰90周年。在華羅庚先生的家鄉(xiāng)江蘇金壇,組織了一場別開生面的數(shù)學(xué)智力競賽的活動,你的一個好朋友XZ也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目:設(shè)有一個長度為N的數(shù)字串,要求選手使用K個乘號將它分成K+1個部分,找出一種分法,使得這K+1個部分的乘積能夠為最大。同時,為了幫助選手能夠正確理解題意,主持人還舉了如下的一個例子:有一個數(shù)字串:312, 當(dāng)N=3,K=1時會有以下兩種分法:1) 3*12=362) 31*2=62 這時,符合題目要求的結(jié)果是:31*2=62 現(xiàn)在,請你幫助你的好朋友XZ設(shè)計一個程序,求得正確的答案。 輸 入 程序的輸入共有兩行: 第一行共有2個自然數(shù)N,K(6≤N≤40,1≤K≤6) 第二行是一個長度為N的數(shù)字串。 輸 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫