Loading...
evittlyemov avatar evittlyemov 4 Точки

Задaчата за Учебната зала - Simple calculations, Programming basics with Java, Dec 2016

След дълга борба успях да я реша, честно казано не съжалявам за изгубените часове, доста научих :). Ето и моето решение, приемам всякакви критики и други решения, предвид, че не намерих решение във форума, което да бъде на Java, да не кажа, че изобщо не намерих решения :).

import java.util.Scanner;

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

        double h = Double.parseDouble(scanner.nextLine()); // Input data
        double w = Double.parseDouble(scanner.nextLine()); // Input data
        double deskh = 1.2;                                 // Height of a single desk
        double deskw = 0.7;                                 // Width of a single desk
        if (w >= 3 && h <= 100) {           //3 >= w; h<=100 limits
            if (w <= h) {                   //w <= h limits
                double diff = Math.floor(h / deskh);        // How many desks can fit at entered h
                double diff2 = Math.floor((w - 1) / deskw); // How many desks can fit at entered w
                double desks = Math.floor(diff * diff2);    // How many desks can fit at h x w
                System.out.println(desks - 3);              // Subtracting the 3 desks
            } else {
                System.out.println("Please enter numbers in the range of 3 >= w >= h >= 100!");
            }
        } else {
            System.out.println("Please enter numbers in the range of 3 >= w >= h >= 100!");
        }
    }
}

 

Тагове:
0
Programming Basics
vancho avatar vancho 430 Точки

А какъв е въпроса на поста ти? Защо постваш решенито?

0
evittlyemov avatar evittlyemov 4 Точки

Идеята е, ако има други решения да ги видим. 

0
veneci9 avatar veneci9 4 Точки

Аз го реших по много по прост начин. Без цикли.

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
   Scanner scan = new Scanner(System. in);
   double h = Double.parseDouble(scan.nextLine());
   double w = Double.parseDouble(scan.nextLine());
   double x = Math.floor(h*100/120);
    double y = Math.floor((w*100-100)/70);
      System.out.println(x*y-3);
   }
}
0
borkins avatar borkins 47 Точки

veneci9, браво! Решението изглежда чудесно и опростено, и използва по-малко памет. За judge-а e супер!

Но понеже за него няма значение, за сега само ти знаеш тайната зад тези стойности (круши, ябълки, траектория за извеждане на спътник в орбита). След време никой няма да ги знае.
Затова на стойностите е добре да слагаш подходящи имена.
Поздрави!
Борис
 

0
veneci9 avatar veneci9 4 Точки

Благодаря, предполагам че не е много ясно коя буква каква е, но за мен в случая беше много важно че съм се справила сравнително просто. :)

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