Професионална програма
Loading...
yuletodim avatar yuletodim 37 Точки

[Exam Problems] C# Basics - Nine Digit Magic Numbers

Здравейте!

Започнах да решавам задачите от другите изпитни дати и явно, не мога да разбера условието на една от тях: Nine Digit Magic Numbers. Ако разбирам правилно става въпрос за 9 цифрени числа генерирани с цифрите от 1 до 7. Сумата на всички знаци трябва да е SUM, а разликта меджу първите 3 и вторите 3, и вторите 3 и третите 3 е DIFF, като първата тройка е < от втората, а тя е < от третата. Аз получавам много повече числа от тези в тестовете, но те отговарят на условията. Моля, някой, който е бил на този изпит да ми каже къде греша??

sum = 24

diff = 103

очакван резултат:

121224327
211314417

моят резултат:

112215318

115218321

118221324

121224327

211314417

 

 

1
Programming Basics
VyaraG avatar VyaraG 45 Точки

Здравейте, колеги :))

Ето още едно решение

 NineDigitMagicNumber :)

 

1
Fujitzo avatar Fujitzo 9 Точки

@Вяра (а и всички останали) ,

Харесва ми решението ти - кратичко и същевременно богато на методи. Аз 3-4 часа се борех с тази задача, но тя ми е една от първите от изпити така или иначе. В началото и малките възвишения изглеждат непреодолими планини, така че ако има и други като мен, които се сдухват при наличието на толкова мн "гурута" - релакс , всяко нещо с времето си :)

Първо цях да похваля колежката Verito с това че ми даде идея как да конкатенирам integers. Мислех си че е някъв трик, заучена последователност, но после като видях твоя пример - още по-кратко и лесно може да е! :)

Към решението на Вяра са ми въпрсите:

  1.   if (wholeNumber.Contains("8")||wholeNumber.Contains("9")||wholeNumber.Contains("0"))

  2.             {

  3.                 continue;

  4.             }

Каква е идеята на това ? ако ще продължава цикъла какъв е смисъла да го пишем ? И не е ли идеята точно да махнем 0,8 и 9 по някакъв начин...

 

  1. for (int k = 0; k < wholeNumber.Length; k++)

  2.             {

  3.                 targetSum += Convert.ToInt32(Convert.ToString(wholeNumber[k]));

  4.             }

Каква е идеята да конверираме числата от редицата в string и после пак в int ако те са си int така или иначе ? 

 

Благодаря на отзовалите се, аз лично направих задачата с 9 вложени цикъла и ми изглежда доста ясен и подреден кода. Само дето гърми за време..

 

-1