Loading...
Iliy4n avatar Iliy4n 2 Точки

Programming Basics Online Exam - 7 January 2018-06. Juice Diet

Здравейте! Какво пропускам тук? Къде греша? Моля за помощ! :))) Дава ми 50/100

import java.util.Scanner;

public class JuiceDiet06 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int r = Integer.parseInt(scanner.nextLine());
        int s = Integer.parseInt(scanner.nextLine());
        int c = Integer.parseInt(scanner.nextLine());
        int juiceMax = Integer.parseInt(scanner.nextLine());


        for (int i = 0; i <= r; i++) {
            for (int j = 0; j <= s; j++) {
                for (int k = 0; k <= c; k++) {
                    double juiceCurrent = i * 4.5 + j * 7.5 + k * 15;
                    if (juiceCurrent == juiceMax - 1 || juiceCurrent == juiceMax) {
                        System.out.printf("%s Raspberries, %s Strawberries, %s Cherries. Juice: %.0f ml.", i, j, k, juiceCurrent);
                        return;
                    }
                }
            }
        }
    }
}
Тагове:
0
Programming Basics 27/02/2018 20:40:09
Iliy4n avatar Iliy4n 2 Точки

Благодаря!

0
pasta_masta avatar pasta_masta 1 Точки

Здравейте,

Ето тук е моя код:

https://pastebin.com/LfPP1Esy

Judge ми дава 50/100. Нулевите тестове са Ок. Как мога да разбера къде ми е грешката в този случай? Judge не дава никакви детайли?

Благодаря предварително!

0
ivaylo_dimov avatar ivaylo_dimov 2 Точки

Относно  50/100 в Judge (за Java) за https://pastebin.com/LfPP1Esy   

Променливата "maxSok" е double. Според написаното в placeholder %.0f за "maxSok" при принтиране ще се закръгли на цяло число и ако "maxSok" има цифра след десетичната запетая ще даде грешен изход и занижени точки в Judge. В условието никъде не пише да се закръгля. Ако обаче за placeholder сe постави %s без да е ползван Decimal формат и ако "maxSok"  няма цифри след десетичната запетая, то тогава след десетичната запетая ще се изпринтира една нула, която пак намалява точките в Judge. 

Затова се вкарва:

import java.text.DecimalFormat; 

и след това в конкретния случай може да се пише:

DecimalFormat df = new DecimalFormat("#.#######");
                System.out.printf("%d Raspberries, %d Strawberries, %d Cherries. Juice: %s ml.", i, j, maxCheries, df.format(maxSok));

Така хем се маха нулата , хем се принтира всички след запетаята. Явно това е особено важно за максималния брой точки в задачата.

0
ZhPetkov avatar ZhPetkov 45 Точки

И при мен беше така. Бях пропуснал да сложа DecimalFormat и не ми минаваха другите тестове.

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