15蓝桥杯Word下载.docx
《15蓝桥杯Word下载.docx》由会员分享,可在线阅读,更多相关《15蓝桥杯Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
d<
d++){
for(e=0;
e<
e++){
if(a!
=4&
&
b!
c!
d!
e!
=4){
count++;
}
printf("
%d"
count);
return0;
}
2.问题描述:
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:
阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为yyyy-mm-dd
即4位年份2位月份2位日期。
2015-02-19
请严格按照格式书写。
不能出现其它文字或符号。
可以直接手算year%400==0||(year%4==0&
year%100!
=0)
或者直接用excel工具做就好
3.问题描述:
三羊献瑞
观察下面的加法算式:
祥瑞生辉
+三羊献瑞
-------------------
三羊生瑞气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
#defineN1000001
inta,b,c,d;
//祥瑞生辉
inte,f,g,h;
//三羊献气
/*******abcd+efgb=efcbh****/
intsum1,sum2,sum;
for(a=0;
=9;
for(e=1;
for(f=0;
f<
f++){
for(g=0;
g<
g++){
for(h=0;
h<
h++){
=b&
a!
=c&
=d&
=e&
=f&
=g&
=h
&
f!
g!
=h){
sum1=a*1000+b*100+c*10+d;
sum2=e*1000+f*100+g*10+b;
sum=e*10000+f*1000+c*100+b*10+h;
if(sum1+sum2==sum){
sum2);
四、格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
voidStringInGrid(intwidth,intheight,constchar*s)
inti,k;
charbuf[1000];
strcpy(buf,s);
if(strlen(s)>
width-2)buf[width-2]=0;
+"
);
for(i=0;
i<
width-2;
i++)printf("
-"
+\n"
for(k=1;
k<
(height-1)/2;
k++){
|"
"
|\n"
printf("
%*s%s%*s"
_____________________________________________);
//填空
(width-strlen(buf)-2)/2,"
"
buf,(width-strlen(buf)-2)/2,"
//theanswer
for(k=(height-1)/2+1;
height-1;
k++){
}
StringInGrid(20,6,"
abcd1234"
5.问题描述:
九数组分数
1,2,3...9这九个数字组成一个分数,其值恰好为1/3,如何组法?
下面的程序实现了该功能,请填写划线部分缺失的代码。
voidtest(intx[])
inta=x[0]*1000+x[1]*100+x[2]*10+x[3];
intb=x[4]*10000+x[5]*1000+x[6]*100+x[7]*10+x[8];
if(a*3==b)printf("
%d/%d\n"
a,b);
voidf(intx[],intk)
inti,t;
if(k>
=9){
test(x);
return;
for(i=k;
i<
9;
i++){
{t=x[k];
x[k]=x[i];
x[i]=t;
f(x,k+1);
//_____________________________________________//填空处
t=x[k];
//theanswer
intx[]={1,2,3,4,5,6,7,8,9};
f(x,0);
6.问题描述:
加法变乘法
我们都知道:
1+2+3+...+49=1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
1+2+3+...+10*11+12+...+27*28+29+...+49=2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:
需要你提交的是一个整数,不要填写任何多余的内容。
intmain(){
inti,j;
for(i=1;
=49;
i++){
for(j=1;
j<
j++){
if(i*i+i+j*j+j-(i+i+1+j+j+1)==790)
if(j>
i){
%d,%d,%d,%d\n"
i,i+1,j,j+1);
//解出答案是16
第7题:
牌型种数
原题:
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
请填写该整数,不要填写任何多余的内容或说明文字。
inta[13];
for(a[0]=0;
a[0]<
=4;
a[0]++)
{
for(a[1]=0;
a[1]<
a[1]++)
for(a[2]=0;
a[2]<
a[2]++)
for(a[3]=0;
a[3]<
a[3]++)
for(a[4]=0;
a[4]<
a[4]++)
for(a[5]=0;
a[5]<
a[5]++)
for(a[6]=0;
a[6]<
a[6]++)
for(a[7]=0;
a[7]<
a[7]++)
for(a[8]=0;
a[8]<
a[8]++)
for(a[9]=0;
a[9]<
a[9]++)
for(a[10]=0;
a[10]<
a[10]++)
for(a[11]=0;
a[11]<
a[11]++)
for(a[12]=0;
a[12]<
a[12]++)
if(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]+a[11]+a[12]==13)
或者可以直接用动态规划
longlonga[14][14];
a[1][0]=a[1][1]=a[1][2]=a[1][3]=a[1][4]=1;
for(i=2;
=13;
for(k=0;
k<
if(k-4>
=0)a[i][k]+=a[i-1][k-4];
if(k-3>
=0)a[i][k]+=a[i-1][k-3];
if(k-2>
=0)a[i][k]+=a[i-1][k-2];
if(k-1>
=0)a[i][k]+=a[i-1][k-1];
a[i][k]+=a[i-1][k];
%lld"
a[13][13]);
//答案一共有3598180种
第8题:
计算房子间曼哈顿