2015年蓝桥杯C/C++大学B组省赛真题(加法变乘法)

题目描述:

我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交。
(对于示例,就是提交10)。

输出格式:

注意:需要你提交的是一个整数,不要填写任何多余的内容。

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[50];
	for(int i=1;i<=49;i++)a[i]=i;
	//通过遍历乘法的位置完成查找 
	for(int i=1;i<=48;i++){
		for(int j=i+1;j<=49;j++){
			long long res=0;
			res=1225-a[i]-a[i+1]-a[j]-a[j+1]+a[i]*a[i+1]+a[j]*a[j+1];
			if(res==2015){
				cout<<i<<" "<<j<<endl; 
			}
		}
	}
	return 0;
}

代码测试链接:P1260 - [蓝桥杯2015初赛]加法变乘法 - New Online Judge

posted @ 2022-04-02 13:46  回忆、少年  阅读(16)  评论(0编辑  收藏  举报  来源