我们都知道:1+2+3+ … + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
先算出2015和1225的差值,每次改变符号的时候减去这两个数的和,加上这两个数的乘积判断输出就好了。
#include<stdio.h>
int main()
{
int a[50];
int i,j,k,sum;
for(i=1;i<50;i++)
a[i]=i;
sum=1225;
for(i=1;i<50;i++)
{
for(j=49;j>=0;j--)
{
sum=sum-a[i]-a[i+1];
sum=sum+(a[i]*a[i+1]);
sum=sum-a[j]-a[j+1];
sum=sum+(a[j]*a[j+1]);
if(sum==2015)
{
printf("%d\n",i);
}
else
sum=1225;
if(j<25)
break;
}
}
}
答案是16.