Loading...
Twitchy avatar Twitchy 13 Точки

Programming Basics Online Retake Exam - 2 and 3 May 2019 - Tourist Shop

Задача № 4 от изпита: https://softuni.bg/downloads/svn/programming-basics-v4/course-directories/may-2019/2019-03/Retake-Exam/04.%20Tourist%20Shop.pdf - Туристически магазин

В judge ми дава 10/100. И двата примерни изходи излизат правилно.

Кода: https://pastebin.com/tU36Gitv

Къде е грешката?

1
Programming Basics
RuNNeR4142 avatar RuNNeR4142 396 Точки

Здравей, 

Моето решение е на Java език, но мисля че може да ти помогне. Питай ако имаш някакви въпроси.

 

import java.util.Scanner;

public class TEST {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double budget = Double.parseDouble(scanner.nextLine());
        String input = scanner.nextLine();
        double productsCost = 0;
        int productsBought = 0;
        int productsCount = 0;

        while (!input.equals("Stop")) {
            double price = Double.parseDouble(scanner.nextLine());
            productsCount++;
            
            if (productsCount % 3 == 0) {
                price *= 0.5;
            }

            if (budget < price){
                System.out.println("You don't have enough money!");
                System.out.printf("You need %.2f leva!", price - budget);
                return;
            }
            productsBought++;
            productsCost += price;
            budget -= price;
            input = scanner.nextLine();
        }
        System.out.printf("You bought %d products for %.2f leva.", productsBought, productsCost);
    }
}

 

 

 

1
Jimipage avatar Jimipage 7 Точки

Защо е процентно делние на (productsCount % 3 == 0) ? наистина джъдж дава 100 но защо само с (productsCount   == 3) не става?

1
RuNNeR4142 avatar RuNNeR4142 396 Точки

Здравей отново,

Радвам се че попита,


if (productsCount == 3) { price *= 0.5;} Ще намали цената наполовина само на първият 3ти продукт и на никой друг, а на нас ни трябва всеки 3ти продукт да е наполовин цена.

if (productsCount % 3 == 0) { price *= 0.5;} Дели броят на продуктите на 3 и ако няма остатък намалява цената, така ще работи за всеки следващ 3ти продукт, а не само за първият.

1, 2, 3 няма остатък, 4, 5, 6 няма, 7, 8, 9 няма и всеки следващ трети продукт ще получи намалена цена.

Ако условието беше да намалим цената на всеки 2ри продукт щяхме да напишем if (productsCount % 2 == 0) { price *= 0.5;} .
 

Успех в следващите задачи!

0
Ickata1234 avatar Ickata1234 0 Точки

Здравей,въпреки че пиша с една година закъснение,мисля че този брояч е напълно излишен "productsBought++; ",защото стойноста можеш да я вземеш int productsCount = 0;

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