算法大赛试题集合

上传人:公**** 文档编号:469720822 上传时间:2023-10-30 格式:DOCX 页数:23 大小:40.36KB
返回 下载 相关 举报
算法大赛试题集合_第1页
第1页 / 共23页
算法大赛试题集合_第2页
第2页 / 共23页
算法大赛试题集合_第3页
第3页 / 共23页
算法大赛试题集合_第4页
第4页 / 共23页
算法大赛试题集合_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《算法大赛试题集合》由会员分享,可在线阅读,更多相关《算法大赛试题集合(23页珍藏版)》请在金锄头文库上搜索。

1、2011全国软件设计大赛题真题,编程题:1. 在实际的开发工作中,对于字符串的处理是最常见的编程任务,本题目是要求程序对用 户输入的字符串进行处理,具体规则如下:1. 每个单词的首字母变为大写。2. 把数字与字母之间用下划线隔开,使结构清晰。3. 多个空格变为一个空格。例如: 输入:you and me what cpp2005pragram则输出: You And Me What Cpp_2005_Program输入: this isa 99cat则输出: This Is A 99_Cat*/2* A,B,C,D,E,F,GH,I,J,共10名学生有可能参加计算机竞赛,也可能不参加,因为某种

2、原因 他们受到下列条件的约束:1.如果A参加,B也参加;2. 如果 C 不参加, D 也不参加;3. A和C中只能有一个人参加;4. B 和 D 中有且仅有一个人参加;5. D、E、F、G、H 中至少有2人参加;6. C和G或者都参加,或者都不参加;7. C、E、G、I中至多只能2人参加8. 如果E参加,那么F和G也都参加。9. 如果F参加,G、H就不能参加10. 如果I、J都不参加,H必须参加 请编程根据这些条件判断10名同学参赛者名单比如LC D G J 代码在Num2里3/*要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(nv=500), 然后对此自然数按照如下

3、方法进行处理: . 不作任何处理; . 在它的左边加上一个自然数,但该自然数不能超过原数首位数字的一半; . 加上数后,继续按此规则进行处理,直到不能再加自然数为止.样例: 输入: 6 满足条件的数为6162612636136 输出: 6 */private function fenjie(cnum: int, count: int , str: String): voidif(cnum = 0) return;if(count = max) trace(str);for (var i:int = cnum; i 0; i-)if(count + i max) continue;fenjie(

4、i, count +i, str + i);/*巧排数字。将1、2、.、2 0这2 0个数排成一排,使得相邻的两个数之 和为一个素数,且首尾两数字之和也为一个素数。编程打印出所有的排法。 */有一楼房的楼梯级数很奇特,一步跨二级多一级,一步跨三级多二级,如果分用四、五、六、 七去除级数分别余三、三、五、五。问这楼房共有多少级阶梯?(已知不超过 400 级)。狼追兔子,兔子躲进了10个环形分布的洞的某一个中。狼在第 1个洞中没有找到兔子,就 间隔1 个洞,到第3 个洞中去找,也没找到兔子,就间隔2 个洞,到第6 个洞中去找。以后 狼每次多隔 1 个洞去找兔子,。这样狼一直找不到兔子。请问兔子可能

5、躲在哪个洞中?2、一位数学家和一些游客共 81人不幸落入强盗手中,强盗把俘虏排成一队,宣布每天处理所有第2的N次方个俘虏(N=0),而只放走剩下的最后一个。由于数学家身怀重任, 不得不选择了一个恰当的位置而最终被放走。请问他归初排在第几个位置。3、有一堆礼物,工作人员无论是分成二个一份,还是三个、四个、五个、六个一份,总是 多一个。请问这堆礼物至少多少个?public class Test9 public static void main(String args) /求 2、 3、 4、 5、 6 的最小公倍数int i =7;while(true)if(i%2=1&i%3=1&i%4=1&i

6、%5=1&i%6=1) System.out.println(i);break;i=i+6;4、一付扑克中拿出所有的黑桃AK按顺序排好。第一次翻出第一张牌A,放在一 边,再拿出第二张放到牌的最下面。以后每次都翻出一张牌,再把一张牌放到最后,问第八 次翻出的牌是哪一张?public class Test10 public static void main(String args) String a=A,2,3,4,5,6,7,8,9,10,J,Q,K;List list = new LinkedList();int j;for (int i = 0; i a.length; i+) list.a

7、dd(ai);for ( j = 0; j =0),而只放走剩下的最后一个。由于数学家身怀重任, 不得不选择了一个恰当的位置而最终被放走。请问他归初排在第几个位置。 */public class Test8 /* param args*/public static void main(String args) / TODO Auto-generated method stubint a = new int81;for (int i = 0; i a.length; i+) ai = i + 1;/ int b = a;int j = 0;int count = 0;while (count !

8、=1) count=0;for (int i = 0; i = 6; i+) a(int) (Math.pow(2, i)-1 = 0;/ System.out.println(int)Math.pow(2, i);for (int i = 0; i a.length; i+) j=i;if (ai = 0) for (int k = j + 1; k a.length; k+) if (ak != 0) ai = ak;ak=0;/ j = k;/ System.out.println(a+i+=+ai+ +a+k+=+ak); break;for (int i = 0; i a.lengt

9、h; i+) if(ai!=0) count+;for (int i = 0; i = 0; i-) strMax = strMax + c1i;/ System.out.println(strMax+ +strMin);int max = Integer.parseInt(strMax);int min = Integer.parseInt(strMin);System.out.println(max= + max + + min= + min); kablk(strMax, strMin);public static void verify(char c) if (c.length 4)

10、System.out.println(” 长度不符合要求);System.exit(0);boolean flag = true;for (int i = 0; i 0) char c1 = String.valueOf(temp).toCharArray(); Arrays.sort(c1);strMin = String.copyValueOf(c1); for (int i = c1.length ; i = 0; i-) strMax = strMax + c1i;/ System.out.println(c1i);max = Integer.parseInt(strMax); kablk(strMax, strMin); Sys

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号