...задачата от учебника 03 Stop Number и поведението на Джъдж-а?!...
Здравейте, колеги! :)
Ще коментирам задачата от учебника „03. Stop Number“ и поведението на Джъдж-а, за да коментираме дали случайно съм открил бъг или логиката ми е грешна.
С две думи при мен се получи недоразбиране как Джъдж-а връща различни резултати за едно и също решени?! Както ще забележите съм добавил само една if(){} else{}
конструкция за проверка (валидиране) на входните данни от конзолата и Джъдж-а гърми на два от резултатите:
Ето кодът с 80/100 точки, като връща:
Тест №4 (Грешен отговор)
Използвано време: 0.087 s
Използвана памет: 0.68 MB
… … …
Тест №7 (Грешен отговор)
Използвано време: 0.056 s
Използвана памет: 1.11 MB
import java.util.Scanner;
public class StopNumberWithWHILEcycle1 {
public static void main (String[] args) {
Scanner inputData = new Scanner(System.in);
int n = Integer.parseInt(inputData.nextLine());
int m = Integer.parseInt(inputData.nextLine());
int s = Integer.parseInt(inputData.nextLine());
if (0 <= n && n < m && m <= 10000 && n <= s && s <= m) {
while (true) {
if (m % 2 == 0 && m % 3 == 0) {
if (s == m) {
break;
} else if (m >= n) {
System.out.print( m + " ");
} else {
break;
}
}
m--;
}
} else {
System.out.println("Я пак, че: ");
System.out.printf("0 <= %d(n) и n < %d(m) ?%n", n, m);
System.out.printf("n <= %d(m) и m <= 10000 ?%n", m);
System.out.printf("s >= %d(n) и s <= %d(m) ?%n", n, m);
}
}
}
Само премахването на if(){} else{}
конструкцията за проверката и резултат е 100/100 точки?!?
import java.util.Scanner;<br> public class StopNumberWithWHILEcycle1 {
public static void main (String[] args) {
Scanner inputData = new Scanner(System.in);
int n = Integer.parseInt(inputData.nextLine());
int m = Integer.parseInt(inputData.nextLine());
int s = Integer.parseInt(inputData.nextLine());
while (true) {
if (m % 2 == 0 && m % 3 == 0) {
if (s == m) {
break;
} else if (m >= n) {
System.out.print( m + " ");
} else {
break;
}
}
m--;
}
}
}
Моля, коментирайте след като сте тествали кода и след като и при вас се получава такъв проблем. При мен впечатлението си остава, че е бъг и трябва Джъдж-а да се „пренастрой“, защото явно подава грешни данни, които са извън условието на задачата.
Успех: Somma!