Advertisement
Guest User

Untitled

a guest
Jun 26th, 2020
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.18 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Harvest {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         /*От лозе с площ X квадратни метри се заделя 40% от реколтата за производство на вино.
  7.          От 1 кв.м лозе се изкарват Y килограма грозде.
  8.          За 1 литър вино са нужни 2,5 кг. грозде. Желаното количество вино за продан е Z литра.
  9.          Напишете програма, която пресмята колко вино може да се произведе и дали това количество е достатъчно.
  10.           Ако е достатъчно, остатъкът се разделя по равно между работниците на лозето.
  11. Вход
  12. • 1ви ред: X кв.м е лозето – цяло число в интервала [10 … 5000]
  13. • 2ри ред: Y грозде за един кв.м – реално число в интервала [0.00 … 10.00]-добива
  14. • 3ти ред: Z нужни литри вино – цяло число в интервала [10 … 600]-таргет за вино
  15. • 4ти ред: брой работници – цяло число в интервала [1 … 20]
  16. Изход
  17. 1)  Ако произведеното вино е по-малко от нужното:
  18. o   “It will be a tough winter! More {недостигащо вино} liters wine needed.”
  19.  Резултатът трябва да е закръглен към по-ниско цяло число
  20. 2)  Ако произведеното вино е повече от нужното:
  21. o   “Good harvest this year! Total wine: {общо вино} liters.”
  22.  Резултатът трябва да е закръглен към по-ниско цяло число
  23. 2.1)    “{Оставащо вино} liters left -> {вино за 1 работник} liters per person.”
  24.  И двата резултата трябва да са закръглени към по-високото цяло число
  25.          */
  26.         int harvestArea = Integer.parseInt(scanner.nextLine());//площ на лозето
  27.         double productionPerMeter = Double.parseDouble(scanner.nextLine());//добив грозде в кг от кв.м.
  28.         int targetWine = Integer.parseInt(scanner.nextLine());//вино, което трябва да се произведе
  29.         int numberOfWorkers = Integer.parseInt(scanner.nextLine());//брой работници
  30.  
  31.         double producedGrape = 40.0/100*productionPerMeter * harvestArea;//40% от общото количеството грозде е отделено за вино
  32.         double producedWine = producedGrape/2.5; // литра вино, получени от това количество грозде
  33.         double wineLeft = producedWine-targetWine;//количеството вино, което остава повече
  34.         double winePerPerson = wineLeft/numberOfWorkers;//количеството на човек
  35.         double needWine = targetWine - producedWine;//недостатъчното вино
  36.  
  37.         if (producedWine<targetWine){
  38.             //double needWine = targetWine-producedWine;//закръглен до цяло число надолу
  39.          //   needWine = Math.floor(needWine);
  40.             System.out.printf("It will be a tough winter! More %.0f liters wine needed.",Math.floor(needWine));
  41.         }else {
  42.           //  double moreWine = producedWine-targetWine;//произведеното вино в повече закръглено нагоре
  43.           // double winePerperson = Math.ceil(moreWine/numberOfWorkers);
  44.           //  moreWine = Math.ceil(moreWine);
  45.          //   winePerperson = Math.ceil(winePerperson);//вино на човек закръглено нагоре
  46.             System.out.printf("Good harvest this year! Total wine: %.0f liters.%n",Math.floor(producedWine));//%n ->
  47.             System.out.printf("%.0f liters left -> %.0f liters per person.",Math.ceil(wineLeft),Math.ceil(winePerPerson));
  48.         }
  49.  
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement