蓝桥杯题目C++

1250: [蓝桥杯2015初赛]方程整数解

#include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
	int flag;
	while(cin>>n)
	{
		flag =0;
		for(int a = 1 ;a <= n ;++a)
		   for(int b = a ;  a*a+b*b<= n ; ++b )
		       for(int c = b ; a*a+b*b+c*c <= n ; ++c)
		            if(a*a+b*b+c*c==n)
		            {
		            	flag = 1;
		            	cout<<a<<" "<<b<<" "<<c<<endl;
		            }
	if(flag == 0)  cout<<"No Solution"<<endl;
		            
	}
	return 0;
} 

1251: [蓝桥杯2015初赛]星系炸弹

#include <bits/stdc++.h>
using namespace std;
int isRui(int x)
{
	if(x%4==0&&x%100!=0||x%400==0)  return 1;
	else return 0;
} 

int main()
{
	int da[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
	int y,m,d,n;
	while(cin>>y>>m>>d>>n)
	{
		for(int i = 1 ;i<=n ;i++)
		{
			if(isRui(y)) da[1] = 29;
			else da[1] =28;
			if(++d>da[m-1])
			{
				d = 1;
				m++;
			}
			if(m>12)
			{
				m = 1;
				y++;
			}
		}
		printf("%d-%02d-%02d\n",y,m,d);
	} 
	 
	return 0;
} 

1252: [蓝桥杯2015初赛]奇妙的数字

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int a[10];
	int i = 30;
	while(1)
	{
	   	memset(a,0,sizeof a);
		int x = i * i;
		int y = i * i * i;
		while(x)
		{
			a[x%10]++;
			x/=10;
		}
		while(y)
		{
			a[y%10]++;
			y/=10;
		}
		int cnt = 0 ;
		for(int j = 0 ; j < 10 ;j++ )
		{
			if(a[j] == 1)   cnt++;
		}
		if(cnt==10)  {printf("%d\n",i);break;}
		else i++;
	}
	return 0;
}

1253: [蓝桥杯2015初赛]牌型种数

#include <bits/stdc++.h>
using namespace std;
int ans,sum;
void dfs(int u)
{
    if(sum>13) return;
	if(u==13)
	{
		if(sum==13) ans++;
		return;
	}
	for(int i = 0; i< 5;i++)  //13种牌,每种4张;5种可能性,0(不选)、1、2、3、4 
	{
		sum += i;
		dfs(u+1);
		sum -=i;//恢复现场
	}
}
int main()
{
	dfs(0);
	cout<<ans<<endl;
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值