加法变乘法
我们都知道:1+2+3+ … + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
解答:其实题目并不难,不要自己吓自己,想想自己是怎么解决,怎样的尝试思路,代码就是根据这个写就好了。
答案:16
分析代码如下:
package holiday;
import java.util.Scanner;
import java.util.Vector;
public class A {
public static void main(String args[])
{
for(int a=1;a<=40;a++)
{
for(int b=49;b>=20;b--)
{
if(sum(a,b)==2015)
{
System.out.println(a+" "+b);
}
}
}
}
public static int sum(int a,int b)
{
int sum=0;
for(int i=1;i<a;i++)
{
sum+=i;
}
sum=sum+a*(a+1);
for(int i=a+2;i<b;i++)
{
sum+=i;
}
sum=sum+b*(b+1);
for(int i=b+2;i<=49;i++)
{
sum+=i;
}
return sum;
}
}
输出:
10 27
16 24