蓝桥杯第六届省赛题目-加法变乘法(java)
题目:
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
我的思路:如案例:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
我们这样拆分 10*11 = 10+10*10 27*28 = 27+27*27
转化为:1+2+3+...+9+10+10*10+ 12+...+26+27+ 27*27+29+...+49 = 2015
两边同时加上11+28
1+2+3+...+9+10+10*10+11+ 12+...+26+27+ 27*27+28+29+...+49 = 2015+11+28
转化为: 1225+ 10*10+27*27 = 2015+11+28= 2017+10+27
根据这个思路:使用两层循环i,j分别代表乘号的位置得到判断条件
1225+ i*i + j*j == 2017+i+j
public class Demo6 {
public static void main(String[] args) {
for (int i = 1; i < 49; i++) {for (int j = i + 2; j < 48; j++) {
if (1225 + i * i + j * j == 2017 + i + j) {
System.out.println(i);
}
}
}
}
}
执行结果:10 16
答案:16
错误或不足的地方欢迎指正!! 最后分享一个喜欢的句子:
物是人非的时候,回忆就会显示它可爱而又残忍的一面。虽然生活中的事一件接着一件,欢畅的,莫名的,卑劣的,让人应接不暇,但是记忆总是会自动筛选出某些事,供我在日后抚摩把玩,这些事,被叫做典故。