zoukankan      html  css  js  c++  java
  • 蓝桥杯加法变乘法(java)

    蓝桥杯第六届省赛题目-加法变乘法(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

     

    错误或不足的地方欢迎指正!!

    最后分享一个喜欢的句子:
    物是人非的时候,回忆就会显示它可爱而又残忍的一面。虽然生活中的事一件接着一件,欢畅的,莫名的,卑劣的,让人应接不暇,但是记忆总是会自动筛选出某些事,供我在日后抚摩把玩,这些事,被叫做典故。

     

  • 相关阅读:
    通过代码学REST之二——Restlet框架学习
    页面解析工具:HtmlParser学习
    游标的使用
    软件测试工具杂谈
    XUL资料
    MYSQL5.1修改表名与复制表结构的定时器与存储过程
    mysql 5.7以上版本下载及安装
    AnyChart图表控件(一)简介
    AnyChart图表控件(二)优势
    踩坑 Pycharm 2020.1.1 安装/ JetBrains破解/ anacode配置
  • 原文地址:https://www.cnblogs.com/yang4869/p/8120507.html
Copyright © 2011-2022 走看看