Здравейте,
Днес се опитах да реша задачите от вторият пробен изпит,но още на първата задача системата ми заби 0/100,въпреки че според мен всичко беше наред.
Има много спорни моменти относно условието на задачата,но според мен има и сгрешен тест.
Ето и моето решение:
using System;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
int number = int.Parse(Console.ReadLine());
int c = number % 10;
int b = (number / 10) % 10;
int a = number / 100;
int result1 = (a + b) + c;
int result2 = (a + b) * c;
int result3 = a * b + c;
int result4 = a * b * c;
int result5 = Math.Max(result1, result2);
int result6 = Math.Max(result3, result4);
int result = Math.Max(result5, result6);
Console.WriteLine($"{result}");
}
}
}
Както съм писал в предният коментар условието на задачата не е ясно .
Такива варианти може да се разглеждат в кръжок по математика и информатика,но не и да се дават на изпит.
Няма как при вход 185 верният отговор да е 41.
Погледнах поста на колегата без да прочета условието на задачата. Права си, не трябва да се използват скоби, а само събиране и умножение, като по подразбиране умножението е с по-висок приоритет.
Здравейте на всички! Опитах се да реша тази задача по различен начин и ми я приема в Системата - дава ви 100 точки, но странното е че аз открих случай в който моето решение дава грешен резултат - ако тествам с числото 212. Моят резултат е 4, а верният отговор би трябвало да е 5, наистина много странно че минава моето решение, ако може и администраторите да погледнат Ето кодът ми
public class Game {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int maxResult = 0;
while (true) {
int input = sc.nextInt();
String numStr = Integer.toString(input);
char[] charNum = numStr.toCharArray();
int[] numInt = new int[numStr.length()];
int sum = 0;
for (int i = 0; i < numStr.length(); i++) {
numInt[i] = (int) charNum[i] - 48;
int num = scanner.nextInt();
int num1 = num % 10;
num /= 10 ;
int num2 = num % 10;
num /= 10 ;
int res1 = num + num2 + num1;
int res2 = num * num2 * num1;
int res3 = num * num2 + num1;
int res4 = num + num2 * num1;
int max = res1 > res2 ? res1 : res2;
max = max > res3 ? max : res3;
max = max > res4 ? max : res4;
System.out.println(max);