加法变乘法
我们都知道:1+2+3+ … + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
个人思路,判断加号的位置,两重for循环,分别从1到48(49后面没有加号),然后写一个函数计算结果就ok了。
#include <iostream>
using namespace std;
int n[50] = {0};
int mySum(int i, int j)
{
int sum = 0;
for (int x = 1; x <= 49; x++)
{
if (x == i || x == j)
{
int temp = x * (x+1);
sum += (temp);
x += 1;
continue;
}
sum += x;
}
return sum;
}
void init()
{
for (int i = 1; i <= 49; i++)
{
n[i] = i;
}
}
int main()
{
init();
for (int i = 1; i <= 48; i++)
{
for (int j = 1; j <= 48; j++)
{
int res = mySum(i, j);
if (res == 2015)
{
cout<<"i: "<<i<<"j: "<<j<<endl;
}
}
}
return 0;
}