首页 > 学院 > 开发设计 > 正文

第六届蓝桥杯【省赛试题6】加法变乘法

2019-11-06 08:01:45
字体:
来源:转载
供稿:网友

题目描述:

我们都知道:1+2+3+ ... + 49 = 1225 

现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015  

比如: 

1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。  

请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。

题目答案:

16

题目思路:

题目要求改两个+为*,(不相邻的+) ,那么如果第i个+改变,最近的能改变的第j个+ 位置为 j=i+2。题目数据范围是1-49,所以使用暴力方法,循环遍历所有情况输出符合题目要求的情况即可。已知1到49的和为1225,改变符号后,只需要减去数字的和,再加上数字的积即可。这里给出代码进行参考:

题目代码:

#include<iostream>using namespace std;int main(){	for(int i=1 ;i<=49 ;i++){		for(int j=i+2 ;j<=48 ;j++){			int sum = 1225-i-i-1-j-j-1+i*(i+1)+j*(j+1);			if(sum==2015)				cout<<i<<endl;		}	}	 	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表