Loading...
TomaTomov_91 avatar TomaTomov_91 9 Точки

Problem 9. Stack Fibonacci

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


http://pastebin.com/8kjR6Ct3

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

Тагове:
0
C# Advanced
msmilkoff avatar msmilkoff 338 Точки
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 Trainer 6849 Точки

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

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

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

0
mitkovasilev avatar mitkovasilev 9 Точки

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

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.