Loading...
Ingenera avatar Ingenera 22 Точки

90/100 AnonimousDownsite от архива с изпитни задачи

Условие на задачата : https://judge.softuni.bg/Contests/Practice/Index/834#0

Моят код на задачата : https://pastebin.com/zH72W0Ta

Джъдж дава малко :)  - само 90/100, а аз си изчерпах идеите . Ако някой има интерес да погледне и да сподели идеи - би било чудесно!

Въпросът е от чисто спортна злоба :), а пък и проблемите трябва да се решават - нали?

0
Module: Java Advanced
mark79 avatar mark79 639 Точки
Best Answer

Здравей,

проблем в случая е големината на числото, което може да се получи при повдигането на степен. Използвай BigInteger или BigDecimal и съотвения метод.

public class AnonymousDownsite {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int numSites = Integer.parseInt(scan.nextLine());
        BigInteger secKey = BigInteger.valueOf(Integer.parseInt(scan.nextLine()));

        BigDecimal totalLost = new BigDecimal(0);
        for (int i = 0; i < numSites; i++) {
            String[] data = scan.nextLine().split("\\s");
            System.out.println(data[0]);
            BigDecimal visit = new BigDecimal(data[1]);
            BigDecimal singleVisitPrice = new BigDecimal(data[2]);
            totalLost = totalLost.add(visit.multiply(singleVisitPrice));
        }

        System.out.printf("Total Loss: %.20f%n", totalLost);
        System.out.printf("Security Token: %d", secKey.pow(numSites));
    }
}

Поздрави :)

0
17/07/2019 13:09:04
Ingenera avatar Ingenera 22 Точки

Абсолютно си прав , това е бил проблема, мина ми през ума но не вярвах че там са сложили капанчето laugh.

Благодаря!

1
silenzio avatar silenzio 56 Точки

Здрaвей,

Пробвай и при повдигането на степен да използваш BigDecimal.

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