Loading...

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

NAstra avatar NAstra 0 Точки

Simple Conditions - Exam Problems - 05. Firm

Здравейте,

Задача: фирма, от книгата "Основи на програмирането"/ прости проверки -изпитни задачи.

След тестване в Judge - резултат 90/100.

 static void Main(string[] args)
        {
            uint projectHours = uint.Parse(Console.ReadLine()); 
            ushort availableDays = ushort.Parse(Console.ReadLine()); 
            byte overtimeWorkers = byte.Parse(Console.ReadLine()); 

            double workHours =Math.Floor(0.9f * availableDays) * 8 + overtimeWorkers * 2 * availableDays;

            double b = projectHours - workHours;
            if (b<0)
            {
                Console.WriteLine("Yes!{0} hours left.", -b );
            }
            else
            {
                Console.WriteLine("Not enough time!{0} hours needed.", b );
            }

Предполагам заради превишено време:

(Allowed working time: 0.100 sec. ) - Judge  

(

Test #1 (Incorrect answer)

Time used: 0.015 s

Memory used: 7.73 MB

) - в детайлите от моя солюшън

Правилно ли съм разбрал - грешката е от превишено врме.

Ако да как да намаля времето?

Благодаря предварително.

Димитър

Тагове:
0
Programming Basics
Soprin avatar Soprin 105 Точки

0.015 е по-малко от 0.100 значи не е от времето. Предполагам че е от проверката. Може би if b<=0 трябва да е, защото ако ти остават 0 времето пак ти е стигнало.

0
24/06/2017 18:27:29
NAstra avatar NAstra 0 Точки

Точно това което казахте е грешката в моето решение. Благодаря. Това е първата затача в която Judge не ми позволи да видя при кави входни данни какъв иаход на конзолата се очаква. Както сте разбрали - напълно начинаещ задава глупави въпроси.

0
icowwww avatar icowwww 2673 Точки

Грешката не е във времето, а в неправилен отговор. Ако ми дадеш условието ще ти кажа къде е сгрешено

0
24/06/2017 19:05:26
NAstra avatar NAstra 0 Точки

Задача: фирма

Фирма получава заявка за изработването на проект, за който са необходими определен брой часове. Фирмата разполага с определен брой дни. През 10% от дните служителите са на обучение и не могат да работят по проекта. Един нормален работен ден във фирмата е 8 часа. Всеки служител може да работи по проекта в извънработно време по 2 часа на ден.

Часовете трябва да са закръглени към по-ниско цяло число (например –> 6.98 часа се закръглят на 6 часа).

Напишете програма, която изчислява дали фирмата може да завърши проекта навреме и колко часа не достигат или остават.

Входни данни

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

  • На първия ред са необходимите часове – цяло число в интервала [0 ... 200 000].
  • На втория ред са дните, с които фирмата разполага – цяло число в интервала [0 ... 20 000].
  • На третия ред е броят на служителите, работещи извънредно – цяло число в интервала [0 ... 200].

Изходни данни

Да се отпечата на конзолата един ред:

  • Ако времето е достатъчно:
    • "Yes!{оставащите часове} hours left.”.
  • Ако времето НЕ Е достатъчно:
    • “Not enough time!{недостигащите часове} hours needed.“.
0
NAstra avatar NAstra 0 Точки

Колеги благодаря Ви. Точно както казахте. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Firma
{
    class Program
    {
        static void Main(string[] args)
        {
            uint projectHours = uint.Parse(Console.ReadLine()); 
            ushort availableDays = ushort.Parse(Console.ReadLine()); 
            byte overtimeWorkers = byte.Parse(Console.ReadLine()); 
            float workDays = 0.9f * availableDays;
            float overtime = overtimeWorkers * 2 * availableDays;
            double workHours =Math.Floor(workDays * 8 + overtime);


            if (projectHours <= workHours)
            {
                Console.WriteLine("Yes!{0} hours left.", workHours - projectHours );
            }
            else
            {
                Console.WriteLine("Not enough time!{0} hours needed.", projectHours - workHours );
            }

        }
    }
}
В червено е това което което коригирах. 

от < поправих на <= и взе че излезе вярна на 100 процента.

 

0
NAstra avatar NAstra 0 Точки

Благодаря на всички.

 

Поздрави

Димитър

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