Hotel Room Problem Exam August 2016 c#
Здравейте> трябва ми малко помощ за тази задача https://judge.softuni.bg/Contests/Practice/Index/274#2
Не мога да я докарам до 100/100 и не се намирам грешката...
благодаря предварително :)
Здравейте> трябва ми малко помощ за тази задача https://judge.softuni.bg/Contests/Practice/Index/274#2
Не мога да я докарам до 100/100 и не се намирам грешката...
благодаря предварително :)
ако дадеш код,може да ти помогнем или ти искаш готово решение ?
Ето го :https://pastebin.com/v9GG1htd
Може и само насоки...
if (nights >= 7 && nights <= 13 && month == "May" || month == "October") това тук е май
if (nights >7 && nights <= 14 && month == "May" || month == "October")без равното защото са казали при повече от 7 нощувки или до 14 нощувки.другата част от кода изглежда ок.Ти както беше написала тази проверка при 7 нощувки влизаш в този иф защото nights>=7 при зададени 7 нощувки това е вярно. А при 14 нощувки изпускаше 1 проверка защото при nights<=13 ако ти дадат точно 14? какво правиш другите ти проверки са при nights>14 .. това е дребна грешка в логиката.
И двете коригирах от 80/100 съм на 90/100...
сложи decimal,по принцип като е с пари се работи с decimal може да проверяват и точното закръгляне в някои от тестовете.смисъл щом си 90/100 това вече е някакъв съвсем дребен детайл и трудно се забелязва някои edge case. В момента се сещам само за decimal.Заради закръглянето което е малко по-различно.
В задачата няма закръгляне, а само форматиране. Не би следвало от това да е проблема в оценката.
Вярно е, че при работа с пари се препоръчва decimal вместо double, но в случая не съм сигурен, че това е причината. В моето решение също използвам decimal, въпреки че кодът ми изглежда по-ръбав с тия М-ки навсяъде след цифрите
https://pastebin.com/5TbKheDh
В кода на PoliDobreva има няколко, неща които могат да се изчистят:
Може би ако се изчисти всичко това резултатът би бил 100/100?
Здравей,
много късно отговарям но реших да пиша тъй като и аз бах я решил точно както тебе с разликата че нямах "=" на 7 и по-голямо и равно на 14 и я докарах до 90/100 и на никъде,
и гледам че като поставя 7 нощувки и Октомври ми влиза да решава при > 7 се шашнах и си викам що па решава при 7 като съм му задал >7 и пробвах с 8 и пак същото, така стигнах до решението:
това е твоето:
if (nights >= 7 && nights <= 13 && month == "May" || month == "October")
else if (nights > 14 && month == "May" || month == "October")
else if (nights > 14 && month == "June" || month == "September")
а ето и моето с 100/100 на judge:
if (nights > 7 && nights <= 14 && month == "May" ||
nights > 7 && nights <= 14 && month == "October")
else if (nights > 14 && month == "May" || nights > 14 && month == "October")
else if (nights > 14 && month == "June" || nights > 14 && month == "September")
т.е. след всяко "||" (или) ти иска да въведеш отново от колко до колко нощувки за следващия месец!
Дано съм бил изчерпателен и да съм помогнал на теб и на другите които ще направят подобна грешка!