Так как это звучит как домашнее задание, я начну с нескольких частей.
Вы уже разработали логику этой проблемы? «Застрял» может означать, что вы понятия не имеете, как это нужно сделать, или что вы не знаете, как реализовать это с помощью доступных инструкций. Если вы не проработали логику, подумайте об этом - как вы придумываете термины, как складываете их вместе и что вы делаете с результатами?
Если вы разработали логику, то какие команды будут выполнять каждую часть?
Если у вас есть более конкретные вопросы, не стесняйтесь их обновлять, и я отвечу, но, как правило, политика в отношении SO заключается в том, чтобы предлагать рекомендации, а не просто писать код для (возможных?) Домашних заданий.
Редактировать : хорошо, отлично, у вас есть какой-то код, и похоже, что вы на правильном пути, но еще не там. Первое, что я хотел бы спросить вас, пытались ли вы выполнить код на бумаге. Выберите произвольный ввод (скажем, 5, как в вашем примере) и пошагово просматривайте код по одной инструкции за раз, чтобы увидеть, соответствует ли логика, которую выполняет программа, логике, которую вы придумали на шаге 1. Сейчас я считаю, что программа не работает как написано; посмотрим, сможете ли вы выяснить, почему, а если нет, я дам вам подсказку.
Редактировать 2 : офигенно, вы так близки, что у вас уже есть ответ, и вам просто нужно его кодировать. Вы сказали, что хотите повторить, пока n не достигнет 0. Итак, какая команда позволит вам взять одну из двух веток в зависимости от того, равно ли n 0 или нет?
Редактировать 3 : вы правы, полагая, что вам нужно использовать ветвь, если 0 / ветвь не 0, но я не вижу ничего из этого в вашем последнем коде. Я что-то пропустил? Кроме того, для чего нужен DC в этом случае? Это может быть полезно, если вы отправите ключ, чтобы я точно знал, какие инструкции вы используете. Как я уже говорил, попробуйте выполнить вашу программу вручную - это покажет вам, где находятся ошибки. Моя подсказка для вас прямо сейчас - определить ту часть кода, которую необходимо выполнить повторно, и выяснить, выполняется ли она на самом деле повторно.