Професионална програма
Loading...
daniela_dobreva avatar daniela_dobreva 1 Точки

Задача 6 от предварителния изпит Judge ме оцени със 70 точки, не мога да намеря грешката, а съм изключително любопитна къде греша.

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int location = Integer.parseInt(scanner.nextLine());
        for (int i = 0; i < location; i++) {
            double avrExtraction = Double.parseDouble(scanner.nextLine());
            int days = Integer.parseInt(scanner.nextLine());
            double sumExtraction = 0.0;
            for (int j = 0; j < days; j++) {
                double extraction = Double.parseDouble(scanner.nextLine());
                sumExtraction += extraction;
            }
            double average = sumExtraction /days;
            if(average >= avrExtraction) {
                System.out.printf("Good job! Average gold per day: %.2f.\n",average);
            }else {
                System.out.printf("You need %.2f gold.", avrExtraction - average);
            }
        }
    }

}
0
Programming Basics with Java
navroniev avatar navroniev 1 Точки

Предполагам проблемът е, че няма нов ред в края на принта в else блока -

System.out.printf("You need %.2f gold.\n", avrExtraction - average);

Това е разликата при моето решение.

0
daniela_dobreva avatar daniela_dobreva 1 Точки

Благодаря, за това не се бях досетила :)

0
daniela_dobreva avatar daniela_dobreva 1 Точки

Разбира се, може ли да дадеш условието и да кажеш къде се затрудняваш.

0
CvetanSavov avatar CvetanSavov 0 Точки

Задача 4. Подаръци от Дядо Коледа

Дядо Коледа започва да обикаля от град на град за да носи подаръци на всички послушни деца. Той ви моли да напишете програма, която да принтира на конзолата всички адресни номера от М до N, които се делят едновременно на 2 и на 3 без остатък, тъй като Дядо Коледа, знае че там живеят само послушни деца. От конзолата ще се чете още един номер на адрес S. Ако някой от адресните номера от  M до N, които се делят на 2 и 3, е равен на адреса S, този адрес не трябва да се принтира и програмата трябва да приключи. В противен случай се принтират всички адресни номера до N, които отговарят на условието.

Вход:

От конзолата се четат точно 3 числа, всяко на отделен ред:

  • Nцяло число 0 <= N < M
  • Mцяло число – N < M <= 10000
  • Sцяло числo – N <= S <= M

Изход:

На конзолата се принтират на един ред, всички адресни номера отговарящи на условията, разделени с интервал.

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

Вход

Изход

Обяснения

1

30

15

30 24 18 12 6

Адресните номера от M = 30 до N = 1, които се делят едновременно на 2 и на 3 без остатък, са: 30 24 18 12 и 6.

Като S = 15 не прекъсва редицата, защото не е равно на нито един адрес, който се дели на 2 и на 3 едновременно.

Вход

Изход

 

1

36

12

36 30 24 18

Адресните номера от M = 36 до N = 1, които се делят едновременно на 2 и на 3 без остатък, са: 36 30 24 18.

Като S = 12  е равно на адреса 12, който се дели на 2 и на 3, затова спираме до 18 и не печатаме адреса 12.

Вход

Изход

20

1000

36

996 990 984 978 972 966 960 954 948 942 936 930 924 918 912 906 900 894 888 882 876 870 864 858 852 846 840 834 828 822 816 810 804 798 792 786 780 774 768 762 756 750 744 738 732 726 720 714 708 702 696 690 684 678 672 666 660 654 648 642 636 630 624 618 612 606 600 594 588 582 576 570 564 558 552 546 540 534 528 522 516 510 504 498 492 486 480 474 468 462 456 450 444 438 432 426 420 414 408 402 396 390 384 378 372 366 360 354 348 342 336 330 324 318 312 306 300 294 288 282 276 270 264 258 252 246 240 234 228 222 216 210 204 198 192 186 180 174 168 162 156 150 144 138 132 126 120 114 108 102 96 90 84 78 72 66 60 54 48 42

0
CvetanSavov avatar CvetanSavov 0 Точки

Задача 6. Пътници на полет

Напишете програма, която проследява колко пътници средно на полет има всяка авиокомпания. Всеки ден има определен брой авиокомпании, които имат полети. До получаване на команда "Finish" получавате брой пътници на полет. Трябва да изчислите средния брой пътници на полет на авиокомпания. След като излетят всички полети на всички авиокомпании трябва да отпечатате коя е компанията с най-голям среден брой пътници за полетите си. Средният брой пътници винаги трябва да бъде закръглен към най-близкото цяло число надолу.

Вход:

Първоначално от конзолата се прочита броят на авиокомпаниите цяло число в интервала [1… 20]

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

  • Името на авиокомпанията – текст
  • До получаване на командата "Finish" се чете:
    • Брой пътници на полет  – цяло число в интервала [1... 360]

Изход:

След прочитането на всички пътници (получаване на команда "Finish") на дадена компания на конзолата се отпечатва един ред:

  • "{името на авиокомпанията}: {средният брой пътници на полет} passengers."

След като излетят всички полети на всички авиокомпании се отпечатва един ред за компанията с най-голям среден брой пътници:

  • "{името на авиокомпанията с най-много пътници на полет} has most passengers per flight: {средният брой пътници на полет}"

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

Вход

Изход

Обяснения

3

WizzAir

180

230

100

Finish

BulgariaAir

50

60

90

Finish

Lufthansa

260

320

Finish

WizzAir: 170 passengers.

BulgariaAir: 66 passengers.

Lufthansa: 290 passengers.

Lufthansa has most passengers per flight: 290

Днес полети имат 3 авиокомпании.

  1. Авиокомпания WizzAir
  • 3 полета
  • Общо пътници: 180 + 230 + 100  = 510
  • Средно: 510 / 3 = 170
  1. Авиокомпания BulgariaAir
  • 3 полета
  • Общо пътници: 50 + 60 + 90  = 200
  • Средно: 200 / 3 = 66.6..7 ~ 66
  1. Авиокомпания Lufthansa
  • 2 полета
  • Общо пътници: 260 + 320 = 580
  • Средно: 580 / 2 = 290
  •  

Авиокомпания Lufthansa има най-много пътници средно на полет – 290.

2

Qatar Airways

95

231

323

Finish

LOT

76

89

55

Finish

Qatar Airways: 216 passengers.

LOT: 73 passengers.

Qatar Airways has most passengers per flight: 216

Днес полети имат 2 авиокомпании.

  1. Авиокомпания Qatar Airways
  • 3 полета
  • Общо пътници: 95 + 231 + 323  = 649
  • Средно: 649 / 3 = 216.3… ~ 216
  1. Авиокомпания LOT
  • 3 полета
  • Общо пътници: 76 + 89 + 55  = 220
  • Средно: 220 / 3 = 73.3… ~ 73

 

Авиокомпания Qatar Airways има най-много пътници средно на полет – 216.

0
CvetanSavov avatar CvetanSavov 0 Точки

Задача 1. Книга за програмиране

Един летен ден Автоном Иванов, автор на редица учебници и книги, решил да напише книга за програмиране, заедно с екип от няколко ентусиазирани младежи, които да му помогнат. Да се напише програма, която пресмята колко пари ще са нужни на Автоном за отпечатването на едно пробно копие на хартия, като екипът поема част от сумата. Книгата се състои от 899 страници и 2 корици и обикновено издателствата правят намаление (в проценти) за книги с подобен обем.

Освен разходите по отпечатването на страниците и кориците, трябва да се заплати на дизайнер, който да изработи подходящо изображение за корицата.

Вход:

Входът от конзолата съдържа 5 реда:

  • Цена за отпечатване на една страница - реално число в интервала (0.00…1.50]
  • Цена за отпечатване на една корица - реално число в интервала (0.00…5.00]
  • Процентно намаление за отпечатване на хартия - цяло число в интервала (0…100]
  • Сумата, която трябва да се заплати на дизайнер - реално число в интервала (0.00…150.00]
  • Процент от цялата дължима сума, който е заплатен от екипа - цяло число в интервала [0…100]

Изход:

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

"Avtonom should pay {money} BGN."

Където {money} е сумата, която трябва да бъде заплатена. Стойността трябва да бъде форматирана до втория знак след десетичната запетая.

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

Вход

Изход

Обяснения

0.01

1

10

20

20

Avtonom should pay 23.91 BGN.

Начална сума за отпечатване: 0.01 лв. * 899 стр. + 1 лв.* 2 корици = 10.99 лв.

10% намаление:
à 10.99 - 10% = 9.891 лв. са разходите за отпечатване след намалението

Трябва да се заплати на дизайнер -> 20 лв.
à 9.891 + 20 = 29.891 лв. са разходите с дизайнер

Екипът поема 20% от цената на копието
à 29.89120% = 23.9128 лв. е крайната сума
 

0.05

1.20

40

19.99

20

Avtonom should pay 38.72 BGN.

Начална сума за отпечатване: 0.05 лв. * 899 стр. + 1.20 лв.* 2 корици = 47.35 лв.

40% намаление:
à 47.35 - 40% = 28.41 лв. са разходите за отпечатване след намалението

Трябва да се заплати на дизайнер -> 19.99 лв.
à 28.41 + 19.99 = 48.40 лв. са разходите с дизайнер

Екипът поема 20% от цената на копието
à 48.4020% = 38.72 лв. е крайната сума

Вход

Изход

Обяснения

0.02

0.50

18

21

50

Avtonom should pay 18.28 BGN.

Начална сума за отпечатване: 0.02 лв. * 899 стр. + 0.50 лв.* 2 корици = 18.98 лв.

18% намаление:
à 18.98 - 18% = 15.5636 лв. са разходите за отпечатване след намалението

Трябва да се заплати на дизайнер -> 21 лв.
à 15.5636 + 21 = 36.5636 лв. са разходите с дизайнер

Екипът поема 50% от цената на копието
à 36.5636 - 50% = 18.2818 лв. е крайната сума

0
daniela_dobreva avatar daniela_dobreva 1 Точки

ЗАДАЧА 4:

Въвеждаш си трите числа М, N, S;

правиш си цикъл от М до N, като намаляш с 1 for( i = M; i > N; i--)

в цикъла правиш проверка, дали се дели i на 2 и 3 без остатък if(i % 2 == 0 && i % 3 == 0), ако да->

в тази проверка правиш друга проверка за S, ако i == S if(i == S) -> break и излизаш от цикъла else -> принтираш числото

 

За другите задачи, кажи къде имаш проблем и ще помагам!

1
19/11/2020 16:18:03
CvetanSavov avatar CvetanSavov 0 Точки

Може ли някой да момгне за christmas gifts,passengers flight  и  football souvenris ? :) 

0