05. Game Of Intervals /Programming Basics / PB-More-Exercises For-Loop - More Exercises
import java.util.Scanner; public class GameOfIntervals { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = Integer.parseInt(scanner.nextLine()); double rezult = 0; int n1 = 0; int n2 = 0; int n3 = 0; int n4 = 0; int n5 = 0; int n6 = 0; for (int i = 1; i <= n; i++) { Double value = Double.parseDouble(scanner.nextLine()); if (value >= 0 && value <= 50) { if (value < 10) { value *= 0.2; n1++; } else if (value < 20) { value *= 0.3; n2++; } else if (value < 30) { value *= 0.4; n3++; } else if (value < 40) { value = 50.0; n4++; } else { value = 100.0; n5++; } rezult += value; } else { rezult /= 2; n6++; } } System.out.printf("%.2f%n", rezult); System.out.printf("From 0 to 9: %.2f%%%n", (n1 * 1.0 / n * 100)); System.out.printf("From 10 to 19: %.2f%%%n", (n2 * 1.0 / n * 100)); System.out.printf("From 20 to 29: %.2f%%%n", (n3 * 1.0 / n * 100)); System.out.printf("From 30 to 39: %.2f%%%n", (n4 * 1.0 / n * 100)); System.out.printf("From 40 to 50: %.2f%%%n", (n5 * 1.0 / n * 100)); System.out.printf("Invalid numbers: %.2f%%", (n6 * 1.0 / n * 100)); } }
В Judge : Грешка при компилация.
В IJ се изпълнява без проблем.
Къде бъркам или какво не му харесва на judge?
Примерен вход и изход
Вход |
Изход |
Обяснения |
10 43 57 -12 23 12 0 50 40 30 20 |
295.80 From 0 to 9: 10.00% From 10 to 19: 10.00% From 20 to 29: 20.00% From 30 to 39: 10.00% From 40 to 50: 30.00% Invalid numbers: 20.00% |
10 хода; Начален резултат = 0 точки 1ви ход: 40 <= 43 <= 50 à към резултата се добавят 100 точки 2ри ход: 57 > 50 àневалидно число à 100/2 = 50 точки 3ти ход:-12 < 0 à невалидно число à 50/2 = 25 точки 4ти ход: 20 <= 23 <= 29 à към резултата се добавят 40% от 23 = 25 + 9.2 = 34.2 и така до 10тият ход......
От 0 до 9: 1 число (0) = 10% От 10 до 19: 1 число (10) = 10% От 20 до 29: 2 числа (20 и 23) = 20% От 30 до 39: 1 число (30) = 10% От 40 до 50: 3 числа (40, 43 и 50) = 30% Невалидни: 2 числа (57 и -12) = 20% |
Съгласен ама не може да е причина за компилационна грешка
Ами може:
import java.util.Scanner;
public class GameOfIntervals {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = Integer.parseInt(scanner.nextLine());
double rezult = 0;
int n1 = 0;
int n2 = 0;
int n3 = 0;
int n4 = 0;
int n5 = 0;
int n6 = 0;
for (int i = 1; i <= n; i++) {
int value = Integer.parseInt(scanner.nextLine());
double value1=0;
if (value >= 0 && value <= 50) {
if (value < 10) {
value1= value * 0.2;
n1++;
} else if (value < 20) {
value1= value * 0.3;
n2++;
} else if (value < 30) {
value1= value * 0.4;
n3++;
} else if (value < 40) {
value1 = 50;
n4++;
} else {
value1 = 100;
n5++;
}
rezult += value1;
} else {
rezult /= 2;
n6++;
}
}
System.out.printf("%.2f%n", rezult);
System.out.printf("From 0 to 9: %.2f%%%n", (n1 * 1.0 / n * 100));
System.out.printf("From 10 to 19: %.2f%%%n", (n2 * 1.0 / n * 100));
System.out.printf("From 20 to 29: %.2f%%%n", (n3 * 1.0 / n * 100));
System.out.printf("From 30 to 39: %.2f%%%n", (n4 * 1.0 / n * 100));
System.out.printf("From 40 to 50: %.2f%%%n", (n5 * 1.0 / n * 100));
System.out.printf("Invalid numbers: %.2f%%", (n6 * 1.0 / n * 100));
}
}