蓝桥杯试题答案练习.docx
- 文档编号:30025929
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:12
- 大小:18.70KB
蓝桥杯试题答案练习.docx
《蓝桥杯试题答案练习.docx》由会员分享,可在线阅读,更多相关《蓝桥杯试题答案练习.docx(12页珍藏版)》请在冰豆网上搜索。
蓝桥杯试题答案练习
1、亲密数:
假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。
如284和220就是一对亲密数。
#include
intmain()
{
inta,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
intmain()
{
longdays=5;
/*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/inti=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
假设abcde代表1~9不同的5个数字,注意是各不相同的数字且不含0
能满足形如:
ab*cde=adb*ce这样的算式一共有多少种呢
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:
只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
#include
intmain()
{
intn,m,i=0;
for(inta=1;a<10;a++)
{
for(intb=1;b<10;b++)
{
for(intc=1;c<10;c++)
{
for(intd=1;d<10;d++)
{
for(inte=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;
}
一、啤酒和饮料
82.3元。
啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:
答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:
写了饮料的数量,添加说明文字等)#include
intmain()
{
inti,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 intmain() { intyear=1777,month=4,day=30; inta[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(inti=1;i<8113;i++) { if(2==month&&year%4==0&&year%100! =0||year%400==0) 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",year,month,day); return0; } 三、排它平方数 小明正看着203879这个数字发呆。 原来,203879*203879=41566646641这有什么神奇 呢? 仔细观察,203879是个6位数,并且它的每个数位上的数字都是不同的,并且它平方 后的所有数位上都不出现组成它自身的数字。 具有这样特点的6位数还有一个,请你找出它! 再归纳一下筛选要求: 1.6位正整数 2.每个数位上的数字不同 3.其平方数的每个数位不含原数字的任何组成数位 答案是一个6位的正整数。 请通过浏览器提交答案。 注意: 只提交另一6位数,题中已经给出的这个不要提交。 注意: 不要书写其它的内容(比如: 说明性的文字)。 #include #include intjudge(intn) { intnum=n; intvis[10]; memset(vis,0,sizeof(vis));/*#include 素初始化为0memset(f数组名,0要赋予的值,sizeof(f)数组元素个数广/ while(num) { inttmp=num%10; num/=10; if(vis[tmp]) return0; vis[tmp]=1; } longlongn1=(longlong)n*n; while(n1) { inttmp=n1%10; n1/=10; if(vis[tmp]) return0; } return1; } intmain() {inti; for(i=123456;i<=987654;i++) { if(judge(i)) { printf("%d\n",i); return0; 五、换分币 用一元人民币兑换成1分、2分和5分硬币,共有多少种不同的兑换方法。 #include intmain() { inta,b,c,i=O; for(a=1;a<=100;a++) { for(b=0;b<=50;b++) { for(c=1;c<=20;c++) { if(a*1+b*2+c*5==100) i++; } } } printf("%d",i); getch(); return0; } (待看)标题: 三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常 会或多或少有一些特殊的要求。 我们没必要套用那些经典算法,可以根据实际情况建立 好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。 注意问题的特点是: 负数区域和正数区域内并不要求有序。 可以利用这个特点通过1次线性扫描就结束战斗! ! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 #include voidsort3p(int*x,intlen) { intp=0; intleft=0; intright=len-1; while(p<=right){if(x[p]<0){intt=x[left];x[left]=x[p];x[p]=t;left++; p++; } elseif(x[p]>0){ intt=x[right]; x[right]=x[p]; x[p]=t; right--; } else p++;/*填空*/ } } intmain(intargc,char*argv[]) { inta[]={25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0}; sort3p(a,14); for(inti=0;i<14;i++) printf("%d",a[i]); printf("\n"); return0; } 七、古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE*? =EDCBA 他对华生说: “ABCDE应该代表不同的数字,问号也代表某个数字! 华生: “我猜也是! ” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把ABCDE所代表的数字写出来。 答案写在“解答.txt”中,不要写在这里! #include intmain() { inti; for(i=10000;i<100000;i++) { inta=i/10000; intb=i%10000/1000; intc=i%10000%1000/100; intd=i%10000%1000%100/10; inte=i%10; if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e) { continue; } inty=e*10000+d*1000+c*100+b*10+a; if(y%i==0) printf("%d*%d=%d",i,y/i,y);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蓝桥杯 试题答案 练习