思路
第一步首先枚举两个乘号的位置
第一个乘号从第一个位置开始枚举:
46 ×47 + 48 ×49
第一个乘号最多到46后面,要给+号和第二个×号留一个位置,第二个×号最多到48后面
第二步 求出满足差值的i,j
1+2+3+4 +…… +i+(i+1)+……+j+(j+1)+……+48+49=1225
现在变为:
1+2+3+4 +…… +i*(i+1)+……+j*(j+1)+……+48+49=2550
大部分都是相同的,不同的部分就是乘法那部分 ,
它们之间的差值就是:
code
#include<bits/stdc++.h>
using namespace std;
int main()
{
for(int i=0;i<=46;i++) //46 ×47 + 48 ×49 第一个称号最多枚举到46
{
for(int j=i+2;j<=48;j++) //46 ×47 + 48 ×49 第一个乘号 后面还有一个+号一个乘号,所以i+2
{
if(i*(i+1)-(i+i+1)+ j*(j+1)-(j+j+1)==2015-1225)
cout<<i <<" "<<j<<endl;
}
}
return 0;
}