zoukankan      html  css  js  c++  java
  • java 加法变乘法

    加法变乘法

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

    比如:

    1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 (2)

    就是符合要求的答案。

    (2)-(1)=790

    10*11+1可以等价为9*10+10+11

    同理,27*28+1可以等价为26*27+27+28

    所以就有

    (1)+9*10+26*27=792

    解法1:
    在这里插入图片描述

    再相乘结果的个位数,进行搭配,又因为第一个答案是10*11和27*28

    所以取11,12时,另外一对应该取结果个位是0,且比26,27小。 当然,这种方法的局限性太大了。

    算到最后,有15*16+23*24=792

    也就是另外一个答案是16*17和24*25,也就是前面那个数是16

    解法2:
    代码:

    public class Main {
    	
    public static void main(String[] args) {
    	int a,b,c,d;
    	for(int i=1;i<=49;i++) {
    		a=i;
    		b=i+1;
    		for(int j=i+2;j<=49;j++) {
    			c=j;
    			d=j+1;
    			if(a*b+c*d==792&&a!=10) {
    				System.out.println(a+1);
    				break;
    			}
    		}
    	}
    }
    }
    
    

    代码也比较好懂,一个数一个数的尝试。

  • 相关阅读:
    文件操作
    内置函数
    lambda表达式
    函数基础
    基础数据类型-dict
    基础数据类型-tuple
    基础数据类型-list
    基础数据类型-set
    Python开发【第三篇】基本数据类型
    Python开发【第二篇】运算符
  • 原文地址:https://www.cnblogs.com/ohuo/p/12232515.html
Copyright © 2011-2022 走看看