Como resolver isso sem o uso de parênteses?

user6304358:

Este é um exercício de CodeGym.

O exercício é a seguinte:

No método principal, lugar mais e menos sinais corretamente para que o resultado variável é igual a 20. Esta sinalização deve ser colocada apenas na linha onde o resultado variável é declarada.

Não altere a ordem das variáveis ​​nesta linha. Cada variável deve ser precedida por um sinal de mais ou de menos.

requisitos:

1. Valores de variáveis: Não mude a, b, c ou d.

2. Cada uma das variáveis ​​(a, b, c, e d) na linha onde o resultado variável é declarada tem de ser precedida por um sinal de mais ou menos.

3. O programa deve exibir o número 20 na tela.

4. A adição e sinais de menos deve ser colocada corretamente.

Eu tentei usar Math.abs () para retornar número positivo 20, mas ele lança um erro.

Eu tentei adicionar um pouco variável, ainda lança um erro.

Além disso, tentou parênteses uso, ainda mesmo problema.

    package com.codegym.task.task01.task0137;

    /* 
    Only 20 will do

    */

    public class Solution {
        public static int a = 1;
        public static int b = 3;
        public static int c = 9;
        public static int d = 27;


        public static void main(String[] args) 
   {

            int result = + a - b + c - d;

            System.out.println(result);
        }
    }

Obrigado por tudo! Eu não tentei int resultado = - a + b - c + d; que muitos de vocês sugeriram :) Foi correta))

Remis Haroon:

Este é mais um problema de matemática, em vez de a / programação problema relacionado habilidade Java.

[Esta questão pode ser feito um problema de programação (mais interessante: D), fazendo as quatro variáveis ​​e a dinâmica de saída final, passando aqueles como parâmetros de entrada]

Os passos lógicos eu levei para resolver o problema como abaixo

  1. dadas números são 1,3,9,27 e de saída devem ser de 20, isto significa que 27 não pode ser negativa em qualquer caso. assim atribuindo + sinal a 27.

  2. tomar em seguida número 9, que só pode ter sinal '-', caso contrário, a soma total será de mais de 20 Não importa o que os sinais de números restantes

  3. agora o resultado de dois passos acima irá dar 27-9 = 18. Para atingir global de 20, agora dar sinal de + a 3 e - um sinal de

public class Solution {
    public static int a = 1;
    public static int b = 3;
    public static int c = 9;
    public static int d = 27;

    public static void main(String[] args) {
        int result = - a + b - c + d;
        System.out.println(result);
    }
}

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=235928&siteId=1
Recomendado
Clasificación