06. Coins - Exam - 7 January 2018
Здравейте,
Решението ми на задачата Coins от Programming Basics Online Exam - 7 January 2018, получава само 90/100 точки. Всичко ми се струва вярно, но явно не е.
https://pastebin.com/pQq7dC8m
Здравейте,
Решението ми на задачата Coins от Programming Basics Online Exam - 7 January 2018, получава само 90/100 точки. Всичко ми се струва вярно, но явно не е.
https://pastebin.com/pQq7dC8m
https://pastebin.com/ANLHpjwn не знам колко добре съм го направила, но джъдж ми дава 100/100. .Реших с 2 while цикъла да го направя защото иначе с толкова много for цикли ми се стори малко неприятно особено ако трябва да си търся грешки и да дебъгвам.
Благодаря. В крайна сметка ми помогна да си открия грешката.
Може да е полезно, ако някой се интересува. Явно проблема беше, че приравнявам стотинката към лев, а не обратното- 1 стотинка = 0,01лв , а трябва да е 1лв = 100 стотинки.
Здравей,
според мен не ти е там грешката, 1 стотинка си е 0.01, но DECIMAL !!! Винаги когато става дума за пари или прецизни сметки с плаваща запетая, използвай decimal data type. Ако ти е интересно потърси за "неточността" на float и double. Конкретно в кода ти промених
decimal n = decimal.Parse(Console.ReadLine());
после и това за да не цикли излишно
for (int g = 0; g < 2; g++)
и накрая кастнах
((decimal)(a * 0.01 + b * 0.02 + c * 0.05 + d * 0.10 + e * 0.20 + f * 0.50 + g * 1.00 + h * 2.00) != n)
даде 100/100