蓝桥杯 加法变乘法
我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如: 1+2+3+…+10 x 11+12+…+27 x 28+29+…+49 = 2015 就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
思路:我觉得它应该也只有两个加号变成两个乘号而已,因为1225变成2015,增加了不到1000。我一开始就想着先试试两个乘号的,看看有没有答案,如果不行的话再试三个甚至四个乘号的,结果两个用for一试就出来答案了。
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
int a;
for(int i=1;i<=47;i++)
{
for(int j=i+2;j<=49;j++)
{
a=1225;
a=a+i*(i+1)+j*(j+1)-2*i-2*j-2;
if(a==2015)
cout<<i<<" "<<j<<endl;
}
}
return 0;
}
答案: 16