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

Составить рекурсивную функцию, которая находит цифровой корень целого числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическое выделение памяти под массив http://www.cyberforum.ru/cpp-beginners/thread1126571.html
Доброго времени суток. Как реализовать динамическое выделение памяти под массив, к примеру размера n, при том, что значение этого n в процессе вычисления увеличится? Т. е. выделяется память под массив, но её скорее всего не хватит, насколько именно не хватит неизвестно, известно, что n нужно увеличить на неопределенное значение. Для наглядности написал пример, не стоит вникать в его логическую...
C++ Error c2181: недопустимый else без парного if Помогите, пожалуйста... #include "stdafx.h" #include "stdio.h" #include "conio.h" #include "locale.h" #include "math.h" int main() { char x,e, y, a; setlocale(LC_ALL, "rus"); http://www.cyberforum.ru/cpp-beginners/thread1126545.html
Составить описание класса для работы с квадратной целочисленной матрицей C++
Здравствуйте! Помогите, пожалуйста, написать при объектно-ориентированном подходе программу: составить описание класса для работы с квадратной целочисленной матрицей, обязательные функции-члены класса для ввода/вывода матрицы, вычисление следа матрицы и ее определителя. Только начала изучать данный подход, не могу в нем разобраться пока... Буду благодарна за любые подсказки. А также, если...
C++ Структура элемента массива работник: фамилия, число, месяц и год рождения, пол
Структура элемента массива работник: фамилия, число, месяц и год рождения, пол. определить: ─ фамилия самого старшего мужчины; ─ все фамилии, начинающиеся с заданной буквы; ─ список людей, родившихся в заданном месяце.
C++ Вычислить значение выражения Z=cos2α+ cos4α http://www.cyberforum.ru/cpp-beginners/thread1126503.html
Задача 1 Арифметика: Z=cos2α+ cos4α
C++ Составить программу, в которой найти и вывести число полных сантиметров Составить программу, в которой вводится значение сантиметров. Найти и вывести число полных метров. подробнее

Показать сообщение отдельно
dimcoder
Полярный
453 / 426 / 66
Регистрация: 11.09.2011
Сообщений: 1,129
22.03.2014, 14:31     Составить рекурсивную функцию, которая находит цифровой корень целого числа
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
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <cmath>
 
int symma(int n, int s)
{ 
    s=0;
    while (n>0)    //получаем 63
    {
        s+=n%10;
        n=n/10; 
    }
    
    n = 0;
    
    while (s>0)    //получаем 6+3
    {
        n+=s%10;
        s=s/10; 
    }
    
    return n; 
}
 
int main()
{
    int n, s;
    
    std::cout<<"Vvedite N:"<<std::endl;
    std::cin>>n;
    
    std::cout<<"S= "<<symma(n,s)<<std::endl;
    
    system("PAUSE > NULL");
}
Добавлено через 8 минут
А вот таки рекурсия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int rec(int n)
{ 
    if ( (n/10) <= 0 )
        return n%10;
    else
        return n%10 + rec(n/10);
}
 
int main()
{   
    int n;
    
    std::cin >> n;
    
    std::cout << rec(rec(n)) << std::endl;
    
    system("PAUSE > NULL");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru