Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Найти 1+2+3+...+n рекурсивно и итеративно - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ n>=a в степени k http://www.cyberforum.ru/cpp-beginners/thread162564.html
вот решил задачу таким образом: задача: Напишите программу, находящую для заданных числел n и k максимальное число a, такое, что ak≤ n решение: #include <iostream> #include <cmath> using...
C++ Найти сумму элементов массива, которые больше своих "соседей" справа и слева В массиве из N элементов найти сумму тех элементов, которые больше своих "соседей" справа и слева. http://www.cyberforum.ru/cpp-beginners/thread162561.html
C++ OpenMP, создание потоков
В инете нашел много примеров по распараллеливание циклов, но никак не могу понять, как просто написать чтобы конкретная функция выполнялась в отдельном потоке? int main() { #pragma omp parallel...
Класс комплексных чисел C++
Ребят, помогите пожалуйста написать класс комплексных чисел... Я плохо разбираюсь в объектно-ориентированном программировании, учусь, покажите плиз!
C++ Программа работы с дробями (консоль) http://www.cyberforum.ru/cpp-beginners/thread162536.html
Десятичные дроби. Нужно чтобы программа умела: делить, умножать, складывать и вычитать и построена обязательно на классах, код не мой и разобраться в нём довольно трудно, плюс "консоль" что не мой...
C++ Наследование, классы, хеширование есть у кого простые задачи на эти темы? у меня задания нет, нужны любые... по поиску полазил- не нашёл ничего лёгкого=( подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
31.08.2010, 05:53
Хвостовая рекурсия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstdlib>
 
unsigned int sum_iter(unsigned int result, unsigned int counter)
{
    if(!counter)
        return result;
    else
        return sum_iter(result + counter, --counter);
}
 
unsigned int sum(unsigned int n)
{
    return sum_iter(0, n);
}
 
int main()
{
    unsigned int n;
    std::cout << "Input n: ";
    std::cin >> n;
    std::cout << "Sum from 0 to " << n << " = " << sum(n) << std::endl;
    return EXIT_SUCCESS;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru