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

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

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

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

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

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

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

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