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

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

Войти
Регистрация
Восстановить пароль
 
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
#1

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

22.03.2014, 14:16. Просмотров 597. Ответов 1
Метки нет (Все метки)

Составить рекурсивную функцию, которая находит цифровой корень целого числа. Цифровой корень находится суммой через сумму цифр числа до того момента, пока эта сумма сама не станет цифрой. Например, для числа 9999999 цифровой корень находится так:
9 +9 +9 +9 +9 +9 +9 = 63
6 +3 = 9.

При нахождении использовать ФУНКЦИЮ.

Заранее спасибо.

У меня получился такой код:

Добавлено через 19 минут
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
//zadanie 3
#include <iostream.h>
#include <math.h>
int symma(int n, int s)
{ 
    s=0;
while (n>0)
    {
        s+=n%10;
        n=n/10;
 
    } 
return s; 
}
void main()
{ 
int n, int s;
{
    cout<<"Vvedite N:"<<endl;
    cin>>n;
    {
    cout<<"S= "<<symma(n,s)<<endl;
    }
}
}
Теперь возвращает значение 63, а мне нужно значение 6+3, помогите разобраться.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 14:16     Составить рекурсивную функцию, которая находит цифровой корень целого числа
Посмотрите здесь:

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

Описать рекурсивную функцию, которая методом деления отрезка пополам находит корень уравнения - C++
Описать рекурсивную функцию Root (a, b, 8), которая методом деления отрезка пополам находит с точностью е корень уравнения f(x) = 0 на...

Составить рекурсивную функцию, которая находит произведение n парных положительных чисел - C++
Помогите пожалуйста с задачей! Составить рекурсивную функцию, которая находит произведение n парных положительных чисел.

Составить рекурсивную функцию, которая находит наименьший элемент массива из реальных чисел - C++
double min(double* arr, int n); Примеры double arr = {4.1, 2.0, 5.3, 7.2}; min(arr, 4); // -&gt; 2.0 Заранее благодарю

Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию - C++

Разработать функцию, которая для заданного натурального числа находит корень - C++
Разработать функцию f(n), которая для заданного натурального числа n находит значение корень n + n

Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n - C++
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n. Вычислить с помощью нее значение...

Реализовать программу, которая для заданного N (N<10100) находит его цифровой корень - C++
Реализовать программу, которая для заданного N (N&lt;10100) находит его цифровой корень.

Составить и использовать функцию, которая определяет количество цифр одного целого числа - C++
В массиве целых чисел найти количество чисел с наименьшим ко-личеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777, 11}...

Разработать функцию, которая находит корень - C++
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень n+n. Вычислить с помощью нее значение...

Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел путем многократного добавления числа 1 - C++
Условие: Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел путем многократного добавления числа 1....

Написать рекурсивную функцию, которая находит размер самой большой фигуры - C++
В прямоугольной таблице N рядов и M колонок. Каждая клетка или пустая, или закрашенная. Каждая закрашенная клетка принадлежит одной из...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
455 / 428 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
22.03.2014, 14:31     Составить рекурсивную функцию, которая находит цифровой корень целого числа #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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");
}
Yandex
Объявления
22.03.2014, 14:31     Составить рекурсивную функцию, которая находит цифровой корень целого числа
Ответ Создать тему
Опции темы

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