Някой може ли да помогне с тази задача, според мен нямам грешка в кода обаче системата не го приема. Получавам същите outputs и до сега мина всичките ми проверки.
Game
Three friends came up with a game for having fun in the break between the classes. One of them says a three-digit number and the others use it to form a mathematical expressions by using operators for sum and multiplication between the digits.
The winner is the first one who founds the biggest number that is a result of the above mentioned rules.
Write a program ‘game’, which prints out that biggest number.
Input
Read from the standard input
- The first line of the input will be positive three-digit number N.
Output
Print on the standard output
- The result should be the calculated biggest number.
- The calculation order
Sample tests
Input
185
Output
41
Input
111
Output
3
https://pastecode.io/s/7sie54if
сега получих 70 точки с този код Untitled (4ubrebjn) - PasteCode.io но все още не знам къде бъркам…
Пробвай да прибавиш проверка в if-те, ако tempResult е равен на maxResult. Бих също те посъветвал да запазиш различните уравнения в самостоятелни променливи и да сравняваш между тях(пр.- if(a>=b&&a>=c&&a>=d) и тн). Дано съм помогнал. Успех!
1 Like
благодаря за отговора но все още не мога да си открия грешката
Начинът, по който взимаш всяка цифра от числото, мисля, че ти е сгрешен.
При теб, например за числото 111, hundreds ще ти даде 1,11. А на нас ни трябва да е 1.
може да пробваш с поетапно раздробяване на числото. Започнал си добре с единиците, но след това трябва да извадиш от оригиналното число този остатък и да разделиш на 10.
пр -
ones= n % 10;
newNum = (n - ones) / 10;
tens=newNum%10;
secondNewNum=(newNum-tens)/10;
hundreds=secondNewNum%10;
Try this simple solution:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int a = n / 100;
int b = (n / 10) % 10;
int c = n % 10;
int max = Math.max(a * b * c, Math.max(a + b + c, Math.max(a * b + c, a + b * c)));
System.out.println(max);
}
}