蓝桥杯试题答案(C语言)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。

#include

int main()

{

int a,b,i,n;

for(a=1;a<=10000;a++)

{

for(b=0,i=1;i<=a/2;i++)

if(a%i==0)

b+=i;

for(n=0,i=1;i<=b/2;i++)

if(b%i==0)

n+=i;

if(n==a&&a!=b&&a

printf("%d-%d\n",a,b);

}

return0;

}

2、世纪末的星期:曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。

还有人称今后的某个世纪末的12月31日䊵如果是星期一则会....

有趣的是任何一个世纪末的年份的12月31日都不可能是星期一!!

于是“谣言制造商”又修改为星期日......

1999年的12月31日是星期五,请问,未来哪一个离我们最近的一个世纪末年即xx99年的12月31日正好是星期天,即星期日

请回答该年份,只写这个4位整数,不要写12月31等多余信息

#include

int main()

{

long days=5;

/*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/

int i=2000;

for(;;)/*无循环终止条件,可以利用break语句终止循环*/

{

if(i%4==0&&i%100!=0||i%400==0)

{

days=days%7+366;

}

else

{

days=days%7+365;

}

if(days%7==0&&i%100==99)

{

printf("%d",i);

break;

}

i++;

}

return0;

}

3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

有一次蕌老师出的题目是36x495=?

他却给抄成了396x45=?

但结果却很戏剧性蕌他的答案竟然是对的

因为36*495=396*45=17820

类似这样的巧合情况可能还有很多,比如䊵27*594=297*54

假设a b c d e代表1~9不同的5个数字,注意是各不相同的数字且不含0

能满足形如:ab*cde=adb*ce这样的算式一共有多少种呢

请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。

满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。

答案直接通过浏览器提交。

注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。

#include

int main()

{

int n,m,i=0;

for(int a=1;a<10;a++)

{

for(int b=1;b<10;b++)

{

for(int c=1;c<10;c++)

{

for(int d=1;d<10;d++)

{

for(int e=1;e<10;e++)

{

n=(a*10+b)*(c*100+d*10+e);

m=(a*100+d*10+b)*(c*10+e);

if(n==m&&a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)

i++;

}

}

}

}

}

printf("%d",i);

return0;

}

一、啤酒和饮料

啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。

我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

注意:答案是一个整数。请通过浏览器提交答案。

不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

#include

int main()

{

int i,j;

for(i=1;i<36;i++)

{

for(j=1;j<44;j++)

{

if((i*2.3+j*1.9==82.3)&&(i

printf("%d%d\n",i,j);

}

}

return0;

}

二、高斯日记

大数学家高斯有个好习惯:无论如何都要记日记。

他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210

后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?

高斯出生于:1777年4月30日。

在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。

高斯获得博士学位的那天日记上标着:8113请你算出高斯获得博士学位的年月日。提交答案的格式是:1799-07-16,例如:1980-03-21

请严格按照格式,通过浏览器提交答案。

注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。

#include

int main()

{

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;i<8113;i++)

相关文档
最新文档