Софтуерно Инженерство
Loading...
nkostadinski avatar nkostadinski 1 Точки

Защо в judge не ми дава 100 от 100 точки и как да го оправя

Здравейте,

Като кача задачата "Озеленяване на дворове" за Java в Judge ми дава 70 от 100 точки. Като дам на Details Ми дава следното:

Test #8 (Runtime error)

Time used: 0.036 s

Memory used: 1.11 MB

Test #9 (Runtime error)

Time used: 0.034 s

Memory used: 0.87 MB

Test #10 (Runtime error)

Time used: 0.038 s

Memory used: 1.09 MB

Това ми е кода:

import java.util.Scanner;

public class YardGreening {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int kvMeters = Integer.parseInt(scan.nextLine());
        //double price = kvMeters * 7.61;
        double discount = 0.18 * (kvMeters * 7.61);
        double finalPrice = (kvMeters * 7.61) - discount;
        System.out.println("The final price is: " + String.format("%.2f", finalPrice) + " lv.");
        System.out.println("The discount is: " + String.format("%.2f", discount) + " lv.");
    }
}

 

Тагове:
svephoto avatar svephoto 215 Точки

Здравей,

 

Просто промени типа данни, който четеш в началото за квадратните метри - вместо int да стане double. По условие трябва да прочиташ реално число, което е число с десетична запетая. Иначе както е така с int, ако отсреща (в някои от тестовете в Judge) ти подадат double, ще гърми.

 

Успех!

1
nkostadinski avatar nkostadinski 1 Точки

 Благодаря :) . Който не внимава достатъчно като чете условието е така. Аз се чудех дали не съм объркал нещо с начина на форматиране до 2-ия знак след запетаята - от интернет гледах как да форматирам и едновремено да се долепи в стринга

1
svephoto avatar svephoto 215 Точки

Да, няма проблеми, случва се да недогледаме нещо в условието. :-)

Иначе е супер, че си търсил в нет-а за форматирането, работи си съвсем коректно това, което си написал. А друг вариант ти е това, което дава същия изход, но сякаш програмката работи по-бързо, най-вероятно защото не ползва допълнително време за долепване/конкатениране на три стринга, а само за форматиране:

 

System.out.println(String.format("The final price is: %.2f lv.", finalPrice));
System.out.println(String.format("The discount is: %.2f lv.", discount));

0
16/11/2019 17:57:54