问题描述
我们都知道:1 + 2 + 3 + … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为 2015
比如:1 + 2 + 3 + … + 10 * 11 + 12 + … + 27 * 28 + 29 + … + 49 = 2015 就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
答案提交
注意:需要你提交的是一个整数,不要填写任何多余的内容。
答案:16
题解:
1 + … + 49 == 1225,减去相乘的四个数之和,即
i + (i + 1)
和j + (j + 1)
,加上相乘的四个数之积,即i * (i + 1)
和j * (j + 1)
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i < 49; i ++) // 枚举第一个 * 左边的数字
for (int j = i + 2; j < 49; j ++) // 枚举第二个 * 左边的数字
{
if(1225 - 2*i-1 - 2*j-1 + i*(i+1) + j*(j+1) == 2015)
cout << i << endl;
}
return 0;
}