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.");
    }
}

 

Тагове:
0
Programming Basics
krum_43 avatar krum_43 756 Точки

А какво е условието?

0
nkostadinski avatar nkostadinski 1 Точки

8. Озеленяване на дворове

Божидара разполага с няколко къщи на Черноморието и желае да озелени дворовете на някои от тях, като по този начин създаде уютна обстановка и комфорт на гостите си, като за целта е наела фирма.

Напишете програма, която изчислява необходимите средства, които Божидара ще трябва да заплати на фирмата изпълнител на проекта. Цената на един кв. м. е 7.61лв със ДДС. Тъй като нейният двор е доста голям, фирмата изпълнител предлага 18% отстъпка от крайната цена.

Вход

От конзолата се прочита само един ред:

1. Кв. метри, които ще бъдат озеленени – реално число в интервала [0.00… 10000.00]

Изход

На конзолата се отпечатват два реда:

• "The final price is: {крайна цена на услугата} lv."

• "The discount is: {отстъпка} lv."

И двете суми трябва да бъдат форматирани до втората цифра след десетичния знак.

Примерен вход и изход

Вход Изход Обяснения

540

 The final price is: 3369.71 lv.

The discount is: 739.69 lv. Пресмятаме цената за озеленяване на целия двор:

540 * 7.61 = 4109.40 лв.

Приспадаме отстъпката от общата сума:

0.18 * 4109.40 = 739.69 лв.

Калкулираме крайната цена на услугата:

4109.40 – 739.69  3369.71 лв.

Вход Изход

135

 The final price is: 842.43 lv.

The discount is: 184.92 lv.

 

0
svephoto avatar svephoto 1191 Точки

Здравей,

 

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

 

Успех!

1
nkostadinski avatar nkostadinski 1 Точки

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

1
svephoto avatar svephoto 1191 Точки

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

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

 

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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.