【蓝桥杯省赛JavaB组真题详解】加法变乘法(2015)

正月初二喜气来,祝大家新年乐开怀

题目描述

加法变乘法
我们都知道:1+2+3+ … + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015

比如:
1+2+3+…+10*11+12+…+27 * 28+29+…+49 = 2015
就是符合要求的答案。

请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。

注意:需要你提交的是一个整数,不要填写任何多余的内容。

解题思路

利用双循环的方法
参考代码

public class Main {

	public static void main(String[] args) {
		int t=0,r=0,sum=1225;
		for (int i = 1; i < 47; i++) {
			t = sum - (i + i+1) + i*(i+1);//算出第一个乘号
			for (int j = i+2; j < 49; j++) {
				r = t - (j+j+1) + j*(j+1);//第二个乘号
				if(r==2015)
					System.out.println(i+","+j);
			}
		}
	}

}

输出结果
【蓝桥杯省赛JavaB组真题详解】加法变乘法(2015)

答案
16

上一篇:【蓝桥杯省赛JavaB组真题详解】剪邮票(2016)


下一篇:Gavin老师Transformer直播课感悟 - Rasa项目实战之Helpdesk Assistant中Domain、Action逐行解析及Rasa Interactive运行过程剖析(四十六)