[Judge] C# Basics - Problem 01 - Cake Tycoon - Не разбирам защо не ми приема задачата като вярна.
На изпита в неделя изгубих доста време да се чудя защо системата ни ми дава пълния брой точки, а само 75. Сега след като разгледах авторското решени и направих няколко теста, установих, че единствената разлика е в това, че съм написал Условната конструкция (if - else) в обърната версия на тази от авторското. Не разбирам защото това е грешка след като всички Output-и си излизат верни? В същото време мисля че в авторското решение не са спазени напълно Constraints, но си получава 100-те точни. Просто не разбирам грешката си?
Това ми е условната конструкция:
if (amountOfCaks > amountOfCakesWants)
{
decimal cakePrice = (trufflesCost / amountOfCakesWants) * 1.25M;
Console.WriteLine("All products available, price of a cake: {0:F2}", cakePrice);
}
else
{
decimal flourForAllCakes = (amountOfCakesWants * kgOfFlourNeeded) - kgOfFlourAvailable;
Console.WriteLine("Can make only {0} cakes, need {1:F2} kg more flour", Math.Floor(amountOfCaks), flourForAllCakes);
}
Промени truffleTotal на double и при принтирането на цената на торта добави ":f2" и ще даде 100/100.
При аритметични задачи ако не стават тестовете, вероятна грешка е да не са правилни типовете данни. Ако не стане от първия път пробвай да промениш всичко на decimal, така можеш да разбереш дали грешката е в алгоритъма или променливите.
Здравей, заради теб се върнах да пиша на C# : ))
Ето твоето решение малко променено, за да дава 100/100, но първите два теста не минават, помисли как да го оправиш,ако не се справиш, пиши, ще ти пратя пълно решение.
http://pastebin.com/cmJMupRK
Благодаря Краси,освен жокера, който ми даде се наложи да променя и типа при входа за трюфела от uint na ulong.Judge ми даде 100/100.