Софтуерно Инженерство
Loading...
+ Нов въпрос
TomaTomov_91 avatar TomaTomov_91 9 Точки

Problem 9. Stack Fibonacci

Може ли някой да ми поясни, защо кодът ми не работи ? 


http://pastebin.com/8kjR6Ct3

В конзолката ми изкарава нулевите тестове правилни, а в джъдж всичко останало гърми :)

Тагове:
0
C# Advanced
msmilkoff avatar msmilkoff 341 Точки
Best Answer

Въобще не разбирам тези "stSum" и "needless" какви са според имената им...
Просто Pop-ваш първото и второто число в стека, след което Push-ваш първото и сбора на първото+второто:
 

for (int i = 1; i < n; i++)
{
    ulong first = fibNumbers.Pop();
    ulong second = fibNumbers.Pop();

    fibNumbers.Push(first);
    fibNumbers.Push(first + second);
}

fibNumbers.Pop();
Console.WriteLine(fibNumbers.Peek());

 

0
24/02/2017 10:39:45
TomaTomov_91 avatar TomaTomov_91 9 Точки

stSum - сборът от двете числа.
needless - числото, което трябва да бъде премахнато (сиреч, второто число в стека)

Ако в стека има 2 | 1 - сборът е 3, needless е 1. След, което пушвам сборът и 2-ката. (2 | 3)

Мерси за отговора.

0
RoYaL avatar RoYaL SoftUni Team Trainer 6845 Точки

Сборът от двете числа го правиш като ги изтеглиш от стека, събереш и вкараш в стека.

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Благодаря! А защо вариантът да сумирам целяи стек е не правилен, смисъл не се ли постига същия ефект ? Питам от любопитсво, не е с цел заяждане :)

0
mitkovasilev avatar mitkovasilev 8 Точки

Заповядай едно авторско решение: https://pastebin.com/16mw7jC6

0