Я новичок в psuedocode, и у меня возникают проблемы положить все вместе:Просто ПСЕВДОКОД Вопрос
Вот определение функции с именем Foo, входы которых два целых числа и массив целых чисел a[1] ... a[n]
.
1 Foo(k,m, a[1],...,a[n])
2 if (k < 1 or m > n or k > m) return 0
3 else return a[k] + Foo(k+1,m,a[1],...,a[n])
Предположим, что входные целые числа являются k=2
и m=5
и массив содержит вход [5, 6, 2, 3, 4, 8, 2]
. Какое значение возвращает Foo? Используя обозначения суммирования, дайте общую формулу для вычисления Foo.
У этого человека болит голова. Вот что я сделал до сих пор:
линия 2 имеет три условных операторов:
- Если к < 1 // если 2 < 1..this ложна
- Если т> п // если 5 больше, чем сумма значений в массиве, который является 7, так что это неверно
- Если к> т // если 2> 5, это неверно
так эта функция будет отображаться строка 3. Строка 3 говорит:
- возвращение
a[k]
которыйa[2]
, который является вторым значением массива, который 6. Так возьмите 6 и добавить его в(2+1, 5, a[1].....,a[n])
Это то, что я сделал правильно там? Если да, то как я узнаю, что такое a[n]
? Должен ли я найти это? Что было бы последним результатом всего этого?
вы задали этот же вопрос пару дней назад http://stackoverflow.com/questions/3595256/simple-pseudocode-code-question. Вам не понравились ваши ответы? – atk
gah, случайное редактирование войны, я пытался откат, чтобы исключить мою ревизию, уценку и предварительный просмотр выглядят правильно, но на этом экране нет.Я останавливаюсь, пока не сломаю его больше. Сожалею. – msw
atk- это не тот же вопрос. – bitmoe