2012蓝桥C语言B组√

  1. 微生物增殖
    假设有两种微生物 X 和 Y

    X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。

    一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。

    现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。

    如果X=10,Y=90 呢?

    本题的要求就是写出这两种初始条件下,60分钟后Y的数目。

    题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!

    请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!

  • 答案:
    0
    94371840
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int x=10,y=90;
	bool flag=0;
	for(int i=1;i<=120;i++)
	{
		if(i%6==1)y-=x;
		else if(i%2==1)y-=x;
		if(y<=0)break;
		if(i%6==0)x+=x;
		if(i%4==0)y+=y;
	}
	printf("%d %d\n",x,y<=0?0:y);
	return 0;
}

——————————————————————————————————————————————

  1. 古堡算式

    福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

    ABCDE * ? = EDCBA

    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”

    华生:“我猜也是!”

    于是,两人沉默了好久,还是没有算出合适的结果来。

    请你利用计算机的优势,找到破解的答案。

    把 ABCDE 所代表的数字写出来。

    答案写在“解答.txt”中,不要写在这里!

  • 答案:
    21978
#include<iostream>
#include<cstdio>
using namespace std;
int a[6];
bool flag=0;
bool vis[10];
void seek(int d)
{
	if(flag)return;
	if(d>=6){
		if((a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4])*a[5]==(a[4]*10000+a[3]*1000+a[2]*100+a[1]*10+a[0])){
			for(int i=0;i<5;i++)printf("%d",a[i]);//一定要放在里面,不然还有a[i]被赋值 
			flag=1;
		}
		return;
	}
	for(int i=0;i<=9;i++){
		if(!vis[i]){
			if(i==0&&(d==0||d==4||d==5))continue;
			a[d]=i;
			vis[i]=1;
			seek(d+1);
			vis[i]=0;
		}
	}
}
int main()
{
	seek(0);
	return 0;
}

——————————————————————————————————————————————

  1. 取球游戏

    今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。

    我们约定:

    每个人从盒子中取出的球的数目必须是:1,3,7或者8个。

    轮到某一方取球时不能弃权!

    A先取球,然后双方交替取球,直到取完。

    被迫拿到最后一个球的一方为负方(输方)

    请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?

    程序运行时,从标准输入获得数据,其格式如下:

    先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。

    程序则输出n行,表示A的输赢情况(输为0,赢为1)。

    例如,用户输入:



    10
    18

    则程序应该输出:
    0
    1
    1
    0

    注意:

    请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!

    在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

    请把所有函数写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。

    相关的工程文件不要拷入。

    源代码中不能能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

    允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。例如,不能使用CString类型(属于MFC类库)。

#include<iostream>
#include<cstdio>
using namespace std;
int n,a;
bool f[10005];
int b[4]={1,3,7,8};
void init()
{
	f[1]=0;
	for(int i=2;i<10000;i++){
		for(int j=0;j<4;j++){
			if(b[j]>=i)break;
			if(f[i-b[j]]==0)f[i]=1;
		}
	}
}
int main()
{
	init();
	scanf("%d",&n);
	while(n--){
		scanf("%d",&a);
		printf("%d\n",f[a]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_40367307/article/details/88749589