网站大量收购闲置独家精品文档,联系QQ:2885784924

第四届蓝桥杯预赛CC++程序设计本科B组-详解.doc

第四届蓝桥杯预赛CC++程序设计本科B组-详解.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四届蓝桥杯预赛CC程序设计本科B组-详解

1. 题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。 提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21 请严格按照格式,通过浏览器提交答案。 注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。 答案:1799-07-16 #include stdafx.h #include stdio.h #define Num 8113 int main(int argc, char* argv[]) { int year=1777,month=4,day=30; int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(int i=1;iNum;i++) { if(2==month!(year%4)year%100||!(year%400)) a[2]=29; else a[2]=28; day=day%a[month]+1; if(day==1) { month=month%12+1; if(month==1) year++; } } printf(%d-%d-%d\n,year,month,day); return 0; } 2. 标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢? 请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。 满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。 答案直接通过浏览器提交。 注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。 答案:142 #include stdafx.h #include stdio.h const int N=9; int num; void f(int *p,int idx) { int t; if(5==idx) { if((p[0]*10+p[1])*(p[2]*100+p[3]*10+p[4])==(p[0]*100+p[3]*10+p[1])*(p[2]*10+p[4])) num++; return; } for(int i=idx;iN;i++) { t=p[i],p[i]=p[idx],p[idx]=t; f(p,idx+1); t=p[i],p[i]=p[idx],p[idx]=t; } } int main(int argc, char* argv[]) { int a[N]; for(int i=0;iN;i++) a[i]=i+1; f(a,0); printf(%d\n,num); return 0; } 3. 题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 要求提交的是一个整数。 注意:不要提交解答过程,或其它的辅助说明文字。 答案:#include stdafx.h #include stdio.h int fac(int a,int b) { if(1==a) { if(1==b) return 1; retu

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档