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

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

Восстановить пароль Регистрация
 
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 131
22.03.2014, 14:16     Составить рекурсивную функцию, которая находит цифровой корень целого числа #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++ Описать рекурсивную функцию, которая методом деления отрезка пополам находит корень уравнения
C++ Реализовать программу, которая для заданного N (N<10100) находит его цифровой корень
Составить рекурсивную функцию, которая находит произведение n парных положительных чисел C++
C++ Разработать функцию, которая для заданного натурального числа находит корень
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n C++
Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию C++
Составить рекурсивную функцию, которая находит наименьший элемент массива из реальных чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
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     Составить рекурсивную функцию, которая находит цифровой корень целого числа
Ответ Создать тему
Опции темы

Текущее время: 11:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru