下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学与统计学院第三届计算机程序设计竞赛题竞赛需知:1、答案必须写在答题纸上。2、程序采用 c/java /vb/vfp 语言实现均可。3、考虑到各种因素,程序的键盘输入和结果输出可以用伪代码或者自然语言表示。但是必须说明输入变量和输出变量。4、题目最好能用完整、正确的语言程序来解决问题,如确实无法编写完整语言程序的,可以写出程序主要框架和流程,必要时可以用伪代码或者自然语言描述算法(程序)。一、玫瑰花数( 20分)如果一个四位数等于它的每一位数的4 次方之和,则称为玫瑰花数。例如:444346411634,编程输出所有的玫瑰花数。 #include void main() int i,j,k,
2、l,m; for(i=999;i=9999;i+) j=i/1000; k=i%10; l=i/100-10*j; m=i/10-100*j-10*l; if(i=j*j*j*j+k*k*k*k+l*l*l*l+m*m*m*m) printf(%dn,i); 二、菱形图案( 20分)对给定的奇数 n,编程打印菱形图案。输入样例:7 输出样例:* * * * * * * #include #include void main() int i,j,k; int n; scanf(%d,&n); for(i=0;in;i+) for(j=0;jfabs(n/2-i);j+) printf(
3、); for(k=0;kn-2*j;k+) printf(*); printf(n); 三、钻石奖励( 20分)海盗们决定用“投环套物”的方式来奖励最近一次行动中贡献最大的人。他们将1 克拉钻石排列成矩阵, 通过投掷圆环决定奖励的钻石的数量。假设每个钻石的x 和 y 坐标都是 1 到 99 的整数,输入矩阵及圆形,请你帮他们判断一下这个人能获得多少克拉的钻石。* * * * * * * * * * * * * * * * 输入格式输入数据包含两行,第一行为矩阵的行数及列数,第二行为圆心的坐标点及半径。输出格式输出数据为圆形内的钻石的克拉数(包括圆形边上的钻石)。输入样例4 4 2 1 1 输出
4、样例5 #include #include void main() int i,j,x,y; float r; int a,b,count=0; printf(请输入矩阵的行列i,j:); scanf(%d %d,&i,&j); printf(请输入圆心的坐标点及半径x,y,r:); scanf(%d %d %f,&x,&y,&r); for(a=0;ai;a+) for(b=0;bj;b+) if(sqrt(a-x)*(a-x)+(b-y)*(b-y)=2) 个连续正整数之和,如:15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根
5、据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。输入数据:一个正整数,以命令行参数的形式提供给程序。输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出“none ” 。例如,对于 15,其输出结果是:1 2 3 4 5 4 5 6 7 8 对于 16,其输出结果是:none #include void main() int i,j,h,k,n; n=1;k=0
6、; scanf(%d,i); for(j=1;j=i/2+1;j+) k=k+j; if(k=i) for(h=n;h=i/2+1;h+) printf(%d h); printf(n);n+; j+; 五、 (密钥短语密码)(20分)让我们选一个英文短语 , 称其为密钥字 (key word) 或密钥短语 (key phrase) ,如 happy newyear, 按顺序去掉重复字母和空格得hapynewr。将它依次写在明文字母表之下, 而后再将明文字母表中未在短语中出现过的字母依次写在此短语之后, 就可构造出一个代替表 , 如下所示:明文: abcdefghijklmnopqrstuvw
7、xyz 密文: hapynewrbcdfgijklmoqstuvxz 请编写一个程序,可以通过用户输入密码(一个字符串)生成密码表(即上面的那个表),然后可以对用户输入的明文进行加密。输入样例:明文: ilovehuiwen 输出样例:密文: bfjtnrsbuni #include void main() int i,j,h,k,n; n=1;k=0; scanf(%d,i); for(j=1;j=i/2+1;j+) k=k+j; if(k=i) for(h=n;h=i/2+1;h+) printf(%d h); printf(n);n+; j+; 六、最少钱币(附加题20 分)这是一个古老
8、而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1 个 5 元,或者 3个 5 元,或者 1 个 5 元、1 个 10元,等等。显然,最少需要2 个钱币才能凑成 15 元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。输入:第一行是待凑的钱数值m (1 = m = 2000 ,整数) ,接着的一行中,第一个整数k(1 = k = 10)表示币种个数,随后是k个互不相同的钱币面值ki(1 = ki = 1000)。输入 m=0时结束。输出:输出一行,即凑成钱数值m最少需要的钱币个数。如果凑钱失败,输出“impossible ” 。你可以假设,每种待凑钱币的数量是无限多的。输入样例:15 6 2 5 10 20 50 100 输出样例:2 #include #include void main() int m,k,i; int a10; printf(请输入待凑钱数 m :); scanf(%d,&m); prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研发部内部管理制度
- 遵义职业技术学院《培训与开发》2024-2025学年第二学期期末试卷
- 郑州电子信息职业技术学院《材料工程基础A1》2024-2025学年第二学期期末试卷
- 西安工商学院《民法学及案例研习》2024-2025学年第二学期期末试卷
- 西安财经大学《技术分析基础》2024-2025学年第二学期期末试卷
- 机关单位内部制度
- 机械行业内部管理制度
- 林业局内部考核制度范本
- 某部门内部管理制度
- 检察院内部请示报告制度
- 营养与膳食(第3版)课件 第一章.绪论
- 完整版教育部发布《3-6岁儿童学习与发展指南》(全文)
- (2025)中国石油化工集团中石化招聘笔试试题及答案
- 2025廉政知识测试题及答案
- 儿童科普宇宙黑洞课件
- 优化人员岗位管理制度
- 《民族团结一家亲同心共筑中国梦》主题班会
- 音乐鉴赏与实践 课件《万物欢腾》
- CJ/T 476-2015建筑机电设备抗震支吊架通用技术条件
- 高考语文专题复习:辨析并修改病句
- 钱大妈加盟合同协议
评论
0/150
提交评论