加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交
(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
分析:
假设a和b为符合条件的未知数,
①1+2+……+a*(a+1)+…… +b*(b+1)+……+49 = 2015
②1+2+……+a+(a+1)+……+b+(b+1)+……+49 = 1225
我们由①-②式可得,
设
num1=a*(a+1)+b*(b+1), num2=a+(a+1)+b+(b+1),
则
num1 - num2 == 790
根据这个条件来枚举判断即可。
代码:
public class Main {
public static void main(String[] args) {
for (int a = 1; a < 47; a++) {
for (int b = a+2; b < 49; b++) {
int num1 = a*(a+1)+b*(b+1);
int num2 = a+(a+1)+b+(b+1);
if(num1 - num2 == 790 ) {
System.out.print(a + " ");
System.out.print(b + " ");
System.out.println();
}
}
}
}
}
答案:16