(2016)第七届蓝桥杯省赛(软件类) C/C++ 大学A组 题解(第一题和第二题)

时间:2022-09-10 13:35:22

第一题 

题目

网友年龄

某君新认识一网友。
当问及年龄时,他的网友说:
“我的年龄是个2位数,我比儿子大27岁,
如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”

请你计算:网友的年龄一共有多少种可能情况

提示:30岁就是其中一种可能哦.
请填写表示可能情况的种数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

思路分析

直接暴力枚举,可能出现的个位数和十位数即可

代码

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
	int m,n;
	int sum=0;
	for(int m=0;m<=9;m++){
		for(int n=0;n<=9;n++){
			if((10*n+m)==(10*m+n-27)&&(10*m+n>10*n+m)){
				sum++;
			}
		}
	} 
	cout<<sum<<endl;
	return 0;
}

运行结果

7


第二题 

题目


生日蜡烛

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

思路分析

直接暴力枚举,可能出现的开始年龄和结束年龄即可

代码

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
	int sum=0;
	for(int i=1;i<=100;i++){
		for(int j=1;j<=100;j++){
			 sum=(i+j)*(j-i+1)/2;
			 if(sum==236){
			 	cout<<i<<" "<<j<<endl; 
			 }
			}
		}
	return 0;
}

运行结果

26 33