读书人

小弟想做些题目,该如何解决

发布时间: 2012-03-21 13:33:15 作者: rapoo

小弟想做些题目
我是个c语言的初学者,刚刚过国家计算机二级的级别,想做些题目,谢谢!!

[解决办法]
另一个贴中的:

第一题:

猴子选大王。题目:有M个猴子围成一圈,每个有一个编号,编号从1到M。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始,每隔N个,数到的猴子出圈,最后剩下来的就是大王。要求:从键盘输入M,N,编程计算哪一个编号的猴子成为大王。

第二题:变形猴子选大王

题目:有M个人围成一圈,每人有一个编号,从编号为1的人开始,每隔N个出圈,按出圈次序排成一列,其编号刚好按顺序从1到M。

要求:从键盘输入M,N,编程计算并输出这M个人原来在圈中的位置。

第三题:设有N个人围成一,并且按照顺时针方向从1到N编号,由第S个人开始进行从1到M报数,报数到第M个人时,此人出,再从下一个人重新开始从1到M报数,如此进行下去,直到所有的人都出为止。现在要求编程按照出的顺序,打印这N个人的顺序表。

第四题:狸捉兔子

【问题】围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我, 我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个 洞找,第三次隔2个洞找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?

第五题:慈善的约瑟夫

你一定听说过约瑟夫问题吧?即从N个人找出唯一的幸存者。现在老约瑟夫将组织一个皆大欢喜的新游戏,假设N个人站成一圈,从第1人开始交替的去掉游戏者,但只是暂时去掉,直到最后剩下唯一的幸存者为止。幸存者选出后,所有比幸存者号码高的人每人得到1个金币,永久性离开。其余剩下的将重复以上的游戏过程,比幸存者号码主的人每人得到1个金币后离开。经过这们的过程后,一旦人数不再减少,则最后剩下的那些人将得到2个金币。请你计算一下老约瑟夫一共要付出多少钱?

例如第一轮有5人,幸存者是3,所以4,5得到1个金币后离开,下一轮幸存者仍然是3,因此没有人离开,所以前面3人每人得2个金币。总共要付出2+2*3=8个金币。

输入:N

输出:金币数。

第六题:50枚棋子围成圆圈,编上号码1,2,3,…每隔一枚棋子取出一枚,要求最后留下的一枚棋子的号码是42,那该从几号棋子开始取呢?

第七题:41枚棋子围成圆圈,编上号码1,2,3,…沿圆圈自1开始,每数三枚棋子,就取出第3枚棋子,这样陆续取出1,4,7,…问最后留下的是第几枚?

第八题:用1到6摆成一个圆圈如图。先取1,然后每数k枚棋子就取出第k枚棋子。要是取出的顺序刚好是1,2,3,4,5,6。问k=?

第九题:猴子选大王

题目:有n个猴子选大王,选举办法如下:从头到尾1,2,3报数,凡报到3的退出,余下的从尾到头1,2,3报数,凡报3的退出。。。。如此类推,当剩下两只猴子时,取这时报1的为王,若想当猴王,请问当初应站在什么位置?
[解决办法]
一、凯撒密码
在人类历史上,对信息保护的需求与对信息本身的需求一样久远。第一个用于加密和解密文本的编码方式是凯撒密码。凯撒密码约定的规则是:源文本中每个英文字母都被英文字母表中该字母后第三个位置的字母替换。例如,A-> D, B-> E, X-> A, z-> c。所有其他的符号都保持不变。现在请你写一个程序将加密后的文本解密。题目中大小写英文字母表分开,各自形成一个循环表。

输入输出格式
本题只有1组输入数据,每组数据只有1行,表示加密后的文字,由字母、空格、数字以及各种标点组成,文字长度不超过80个字符。
对于每组数据,输出一行,表示解密后的文字。

样例输入:input.txt
Zhofrph wr icxsf2006!

样例输出:output.txt
Welcome to fzupc2006!

二、阅读顺序
大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。

输入
输入的第一行是一个数字n(n <100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。

输出
将输入的文字转成从右向左的顺序,一行输入对应一行输出。

样例输入:input.txt
3
a man a plan a canal panama
Frankly, I don 't think we 'll make much
OK?

样例输出:output.txt
amanap lanac a nalp a nam a
hcum ekam ll 'ew kniht t 'nod I ,ylknarF
?KO

三、大整数加法运算
计算两个整数m、n的和,0 <=m,n <=10500。

输入输出格式
本题只有1组输入数据,每组数据只有1行,每组数据包含两个0到10500之间的大整数,两个整数中间用1个空格分隔。
对于每组数据,输出一行,表示两个大整数的和。

样例输入:input.txt
12345678909876543211234111222 98765432101234567891234111222

样例输出:output.txt
111111111011111111102468222444

四、最大整数
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613

输入
第1行一个正整数L,代表测试数据的组数。
接下来L行,每行第一个是正整数N(1 <=N <=6),该行接下来有N个正整数Mi(1 <=Mi <=3000)

输出
输出L行,每组输入数据输出一行,输出连接成的最大多位数。

样例输入:input.txt
2
3 13 312 343
4 7 13 4 246

样例输出:output.txt
34331213
7424613

五、津津的储蓄计划
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。
为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。
例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。
津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。
现在请你根据2006年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2006年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入
输入文件input.txt包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。



输出
输出文件output.txt包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2006年年末津津手中会有多少钱。

样例输入1
290
230
280
200
300
170
340
50
90
80
200
60

样例输出1
-7

样例输入2
290
230
280
200
300
170
330
50
90
80
200
60

样例输出2
1580

六、Josephus问题
古罗马著名的史学家Josephus研究古罗马一个石碑时突发奇想提出这样一个问题:n个奴隶围坐一圈,从第一个人开始报数,数到m的人被杀掉,接着从杀掉的下一个人开始重新报数,如此下去,直到剩下最后一人生还。现在你要保证自己生还,设计一个程序,给定n,m(1 <=m <=n),求出生还的位置。

输入
两个整数n和m,中间用1个空格分隔。

输出
一个整数s,代表生还的位置。

样例输入:input.txt
5 3

样例输出:output.txt
4

七、扫雷游戏
扫雷是Windows自带的游戏。游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果方块上的是地雷,将输掉游戏。如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷。

你的任务是在已知地雷出现位置的情况下,得到各个方块中的数据。

输入
输入只有一组数据,每组数据的第一行有两个数字,m,n(0 <m,n <100)表示游戏中雷区的范围为m×n。接下来m行每行有n个字符。“*” 表示有地雷,“.”表示无地雷。

输出
对于每组输入数据,输出结果,各方块数字间不留空格。

样例输入:input.txt
4 4
*...
....
.*..
....

样例输出:output.txt
*100
2210
1*10
1110

八、放苹果
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(注意:盘子没有顺序)

输入
两个整数M和N(1 <=M,N <=10),中间用1个空格分隔。

输出
一个整数K,代表不同的分法。

样例输入:input.txt
7 3

样例输出:output.txt
8


[解决办法]
二级
这些够了
不过还有些比较理论的东西要看看

读书人网 >C语言

热点推荐