- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三届 程序与算法竞赛题
注意事项:
1共有7个大题,时间为2:40-5:40,3个小时;
2 题目采用C/C++编程语言完成;
3可以携带及参考相关纸质资料,竞赛时间内不能相互讲论,独立完成;
将100元钱兑换成10元、5元、1元,编程求不同的兑法数及兑换方案,要求每种兑法都要有10元、5元和1元。
2.对称三位数素数定义:
如果一个数,不是三位数,那么排除;
如果一个数,不是对称数,则也排除;(如565对称,544则不对称)
如果一个数,不是素数,则也排除;
否则称为对称三位数素数。
编程找出1-999中的对称三位数素数。
样本输入: 343
样本输出: 343是对称三位数素数
样本输入: 342
样本输出: 342不是对称三位数素数
3.问题描述
a3 = b3 + c3 + d3为完美立方等式。例如123 = 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1a, b, c, d ≤N。
输入数据
正整数N (N≤100)
输出要求
每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则依次按照b、c、d进行非降升序排列输出,即b值小的先输出、然后c值小的先输出、然后d值小的先输出。
样本输入:24
样本输出:
Cube = 6, Triple = (3,4,5)
Cube = 12, Triple = (6,8,10)
Cube = 18, Triple = (2,12,16)
Cube = 18, Triple = (9,12,15)
Cube = 19, Triple = (3,10,18)
Cube = 20, Triple = (7,14,17)
Cube = 24, Triple = (12,16,20)
4.有的数字可以表示为多个连续自然数之和,如
3 = 1 + 2
5 = 2 + 3
6 = 1 + 2 + 3
7 = 3 + 4
9 = 4 + 5
9 = 2 + 3 + 4
现给你一个正整数N(N=10000),请你判断它能不能被表示为多个连续自然数之和,如果不能输出-1;如果能则输出有多少种表示方式;如
样本输入: 9
样本输出:4 + 5 2 + 3 + 4
样本输入: 3
样本输出: 1+2
5.问题描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)注意:5,1,1和1,5,1 是同一种分法。
输入数据:
第一行是测试数据的数目t(0 = t = 20)。以下每行均包含两个整数M和N,以空格分开。1=M,N=10。
输出要求:
对输入的每组数据M和N,用一行输出相应的K。
样本输入
1
7 3
样本输出
8
6.输入两个字符行,从中找出两个字符行中都出现的英文单词,约定两行的单词间均按空隔分开;
样本输入:
I like cpp program and study it for fun
I am a student and I study hard
样本输出
I and study
7.写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中的最长递增子序列的长度。
样本输入:1,-1,2,-3,4,-5,6,-7
样本输出:4 (注:1,2,4,6为该序列最长的递增子序列,故长度应为4)
文档评论(0)