Loading...
tomash07 avatar tomash07 0 Точки

Първа задача от междинния изпит на 6 март 2016 - Учебна зала

Здравейте,

Много ви моля да не обръщате внимание на имената на променливите (просто така ми е по-лесно, докато намеря логиката :) ) Начинаеща съм и сега се опитвам да реша тази задача. Знам, че имам много грешки, но не знам какви са и се надявам тук някой да ми обясни :). Имам две решения: единия вариант, когато го тествам работи, но в Judge ми дава 25/100 Ето го и него:

        static void Main(string[] args)
        {
            var w = double.Parse(Console.ReadLine());
            var h = double.Parse(Console.ReadLine());
            var dalzhinarabotnimesata = Math.Round(w/1.20);
            var shirochinarabotnimesta = Math.Round((h-1)/0.70);
            var zaguba = 3;

            var reshenie = (dalzhinarabotnimesata * shirochinarabotnimesta)-3;

             Console.WriteLine(reshenie);

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

        static void Main(string[] args)
        {
            var w = double.Parse(Console.ReadLine());
            var h = double.Parse(Console.ReadLine());
            var coridor = w*1;
            var rabotnomqsto = Math.Round(0.7 * 1.2);
            
            var plosht = (w * h);
            var reshenie = (plosht - coridor) / rabotnomqsto;

            Console.WriteLine(Math.Round(reshenie));

        }
 

Предварително благодаря!

0
Programming Basics
Plamen27 avatar Plamen27 599 Точки

Ето ти фикса на първия ти код:


            var h = double.Parse(Console.ReadLine());
            var w = double.Parse(Console.ReadLine());
            
            w *= 100;                  //    w = w * 100;
            h *= 100;                  //    h = h * 100;
 
            var dalzhinarabotnimesata = Math.Floor((w-100)/70);
            var shirochinarabotnimesta = Math.Floor(h/120);
            
            var reshenie = (dalzhinarabotnimesata * shirochinarabotnimesta)-3;
             Console.WriteLine(reshenie);

 

0
29/06/2016 20:58:40
Plamen27 avatar Plamen27 599 Точки

За разликите между Math.Round и Math.Floor:

Math.Round() - If the decimal portion of number is 0.5 or greater, the return value is equal to the smallest integer greater than number. Otherwise, round returns the largest integer less than or equal to number.

Math.Floor() - The return value is an integer value equal to the greatest integer less than or equal to its numeric argument.

Math.Round(1.6)  =2
Math.Floor(1.6) = 1


Math.Round(1.4) = 1
Math.Floor(1.4) = 1

0
30/06/2016 20:57:04
tomash07 avatar tomash07 0 Точки

Много ти благодаря за отделеното време и за отговорите :)

0
Plamen27 avatar Plamen27 599 Точки

You are welcome.

0
MihaelaKostova avatar MihaelaKostova 4 Точки

И аз благодаря, и на мен помогна много!

1
elimizova avatar elimizova 2 Точки
import java.util.Scanner;

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

            double l = Double.parseDouble(scanner.nextLine());
            double wight = Double.parseDouble(scanner.nextLine());



            int redici = (int)(l/1.2);
            int koloni =(int)((wight - 1 )/0.70);
            int place = (int)((koloni * redici)-3);

        System.out.println( place);



    }
}

така ми даде 100/100

0
Ljubo6 avatar Ljubo6 21 Точки

при твоя случай вместо Math.Round използвай (int).Това се казва "кастване(cast)" , т.е използваш цялата част на дробното число .Може да прочетеш повече от книгата на Наков.

0
EvgeniLesov avatar EvgeniLesov 0 Точки

Аз така го реших.
        static void Main(string[] args)
        {
            double length = double.Parse(Console.ReadLine());
            double width = double.Parse(Console.ReadLine());
             int col = (int)(width * 100 - 100) / 70;
            int row = (int)(length * 100 / 120);
            int seats = col * row - 3;
            Console.WriteLine(seats);
        }
    }
}
 

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