Java 蓝桥杯 第五届第6题 加法变乘法

加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。

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

思路:1+2+3+...+49=1225

改变其中两个符号之后,变为2015

那么用1225减去改变的那两个数(实际上是减去四个)就等于2015减去改变的那两个数与他们下个数的乘积

利用二重循环解决


public class Fifth_Six {
	public static void main(String[] args) {
		for(int i = 1; i<47; i++) {
			for(int j = i+2; j<49; j++) {
				int m = 1225-i-j-(i+1)-(j+1);
				int n = 2015-i*(i+1)-j*(j+1);
				if(m == n) {
					System.out.println(i+" "+j);
				}
			}
		}
	}
}


输出为 10 27;16 24

猜你喜欢

转载自blog.csdn.net/GouGe_CSDN/article/details/79762990