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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
#1

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

28.04.2012, 14:11. Просмотров 1531. Ответов 2
Метки нет (Все метки)

помогите решить задачу на С++ Составить рекурсивную функцию, которая находит цифровой корень целого числа. Цифровой корень находится суммой через сумму цифр числа до того момента, пока эта сумма сама не станет цифрой. Например, для числа 9999999 цифровой корень находится так:
9 +9 +9 +9 +9 +9 +9 = 63
6 +3 = 9.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2012, 14:11     Составить рекурсивную функцию, которая находит цифровой корень целого числа
Посмотрите здесь:
Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Описать рекурсивную функцию, которая методом деления отрезка пополам находит корень уравнения
Составить рекурсивную функцию, которая находит произведение n парных положительных чисел C++
Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию C++
Составить рекурсивную функцию, которая находит наименьший элемент массива из реальных чисел C++
C++ Разработать функцию, которая для заданного натурального числа находит корень
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n C++
C++ Реализовать программу, которая для заданного N (N<10100) находит его цифровой корень
C++ Составить и использовать функцию, которая определяет количество цифр одного целого числа
C++ Разработать функцию, которая находит корень
C++ Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел путем многократного добавления числа 1
C++ Написать рекурсивную функцию, которая находит размер самой большой фигуры

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fler
208 / 210 / 9
Регистрация: 20.12.2011
Сообщений: 635
28.04.2012, 14:50     Составить рекурсивную функцию, которая находит цифровой корень целого числа #2
что-то вроде этого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int root(int a)
{
    int s = 0;
    while(a > 0)
    {
        s += a % 10;
        a /= 10;
    }
    if(s > 9) return root(s);
    else return s;
}
int main()
{
    int a;
    setlocale(LC_ALL,"Russian");
    cout << "Введите a: "; cin >> a;
    cout << "Цифровой корень: " << root(a) << endl;
    system("pause");
    return 0;
}
JokerNN
132 / 128 / 36
Регистрация: 29.12.2011
Сообщений: 359
28.04.2012, 14:57     Составить рекурсивную функцию, которая находит цифровой корень целого числа #3
А я без единой итерации сделал - чистая тёплая ламповая рекурсия везде.
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
#include <iostream>
//digiroot
 
using namespace std;
 
int digiroot(int number)
{
    if (number == 0) return number;
    return number%10 + digiroot(number/10);
}
 
int total_digiroot(int number)
{
    int res=digiroot(number);
    if (res/10 == 0){
        return res;
    }
    return total_digiroot(res);
}
 
int main()
{
    int number;
    cout<<"Input number, please: ";
    cin>>number;
    cout<<"Root: "<<total_digiroot(number)<<endl;
    return 0;
}
Yandex
Объявления
28.04.2012, 14:57     Составить рекурсивную функцию, которая находит цифровой корень целого числа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru