Помогите освоить рекурсию
Пытаюсь осваивать с++ и столкнулся с трудностью в рекурсии. Помогите преобразовать цикл в рекурсию:
s=0;
cin>>a;
while (a!=0)
{s=s+a;
cin>>a}
Пытаюсь осваивать с++ и столкнулся с трудностью в рекурсии. Помогите преобразовать цикл в рекурсию:
s=0;
cin>>a;
while (a!=0)
{s=s+a;
cin>>a}
обычно это выглядит так:
функция Ф (x)
{
if (x подходит под условие) return чего-нибудь;
else return Функция (x+что-то) ;
}
на яваскрипте, в firefox можно выполнить через shifr+f4:
function F(x)
{
if (x > 10) return 'Закончили упражнение';
else return x + ' -- ' + F(x+1);
}
alert(F(1));
Правда, я тут число со строкой складываю, только в языках с динамической типизацией прокатит такое.
Задания "преобразовать цикл в рекурсию" - головоломки; их не нужно решать в лоб, нужно просто сказать, что будет делать цикл или рекурсия. Здесь - вводить и суммировать числа, пока не введен 0. Ну так вот,
int sum()
{
int a;
cin >> a;
return (a != 0)?a+sum():a;
}