Loading...
DimitarIvanov2989 avatar DimitarIvanov2989 -3 Точки

Cake Tysoon

Здравейте! Решавам първата задача от този изпит:

https://judge.softuni.bg/Contests/149/Programming-Basics-Exam-17-January-2016

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

http://pastebin.com/WpxhpzfP

2 от тестовете - 

http://prntscr.com/ad0txe

http://prntscr.com/ad0u0n

0
Programming Basics
Mozez avatar Mozez 55 Точки

На местата където имаш работа с валута трябва да използваш променливи от тип decimal.

2
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Освен забележката за decimal-a на колегата има и друг проблем:

Внимавай, когато умножаваш целочислени типове - може да се получи overflow преди да ги превърне в decimal или double.

uint a = ... ;
uint b = ... ;
decimal c = a * b ; (overflow !!!)

Решение на проблема е:

decimal c = (decimal)a * b;
 

 

3
vancho avatar vancho 430 Точки
  1.             ulong cakesWanted = ulong.Parse(Console.ReadLine());

  2.             decimal flourNeeded = double.Parse(Console.ReadLine());

  3.             uint flourAvailable = uint.Parse(Console.ReadLine());

  4.             uint truffles = uint.Parse(Console.ReadLine());

  5.             decimal trufflesPrice = uint.Parse(Console.ReadLine());

  6.  

  7.             decimal cakes = Math.Floor((decimal)flourAvailable / flourNeeded);

  8.             decimal TrufflesCost = (decimal)truffles * trufflesPrice;

  9.             decimal cakesPrice = TrufflesCost / (decimal)cakesWanted * 1.25;

  10.             decimal AdditionalFlour = (decimal)cakesWanted* flourNeeded - (decimal)flourAvailable;

Пробвай така :)

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