Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
razervip
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 59
1

Написать рекурсивную функцию вычисления количества цифр натурального числа

10.03.2014, 18:24. Просмотров 557. Ответов 8
Метки нет (Все метки)

Как написать рекурсивную функцию вычисления количества цифр натурального числа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 18:24
Ответы с готовыми решениями:

Написать рекурсивную функцию вычисления количества цифр натурального числа
Написать рекурсивную функцию вычисления количества цифр натурального числа....

Написать рекурсивную функцию вычисления количества цифр натурального числа(исправить код)
Написать рекурсивную функцию вычисления количества цифр натурального числа. ...

Написать рекурсивную функцию вычисления суммы цифр натурального числа
Вот задача: Написать рекурсивную функцию вычисления суммы цифр натурального...

Написать рекурсивную функцию вычисления суммы цифр натурального числа
Нужно написать рекурсивную функцию вычисления суммы цифр натурального числа. Я...

Написать рекурсивную функцию вычисления суммы цифр натурального числа
Помоги написать код, пожалуйста. Написать рекурсивную функцию вычисления суммы...

8
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,676
10.03.2014, 18:27 2
например так
C++
1
2
3
4
5
6
7
int fnc( int n)
{
 if(n==0)
   return 0;
 
return 1+fnc(n/10);
}
можно еще кучу чего придумать например использовать static переменные
2
Catstail
Модератор
23603 / 11704 / 2046
Регистрация: 12.02.2012
Сообщений: 19,091
10.03.2014, 18:28 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
 
int NumDig(int n)
{
    if (n <= 9)
        return 1;
    else
        return 1+NumDig(n / 10);
}
 
int main(int argc, char* argv[])
{
    cout << NumDig(4567) << endl;
    return 0;
}
2
metaluga145
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
10.03.2014, 18:30 4
razervip,
C++
1
2
3
4
5
6
unsigned int num (unsigned int a)
{
    if (!a)
        return 0;
    return 1 + num(a/10);
}
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,676
10.03.2014, 18:40 5
Catstail,
есть один пассаж
Цитата Сообщение от Catstail Посмотреть сообщение
if (n <= 9)
если будет 0 то вернем 1
Цитата Сообщение от razervip Посмотреть сообщение
вычисления количества цифр натурального числа
пассаж заключается в том что 0 кто то считает натуральным кто то нет
так что мы оба правы
Цитата Сообщение от ValeryS Посмотреть сообщение
if(n==0)
return 0;
Цитата Сообщение от Catstail Посмотреть сообщение
if (n <= 9)
return 1;
и не правы
0
Catstail
Модератор
23603 / 11704 / 2046
Регистрация: 12.02.2012
Сообщений: 19,091
10.03.2014, 18:46 6
Оставим рассуждения на тему "0 - число натуральное, или нет" пуристам и юристам.

Добавлено через 3 минуты
Вот немного другой код:

C++
1
2
3
4
5
6
7
int numdig(int n, int p=10, int c=1)
{
    if (n < p) 
        return c;
    else
        return numdig(n,p*10,c+1);
}
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,676
10.03.2014, 18:51 7
Catstail,
то бишь ты сразу на все системы счисления написал, чтоб не мучили
1
Catstail
Модератор
23603 / 11704 / 2046
Регистрация: 12.02.2012
Сообщений: 19,091
10.03.2014, 18:54 8
Не совсем... Там в коде умножение на 10. Нужен еще один параметр.
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,676
10.03.2014, 18:58 9
Цитата Сообщение от Catstail Посмотреть сообщение
Не совсем... Там в коде умножение на 10.
да я уже потом заметил
ну тогда вот так
C++
1
2
3
4
5
6
7
int numdig(int n, int p=10, int k=10,int c=1)
{
    if (n < p) 
        return c;
    else
        return numdig(n,p*k,k,c+1);
}
1
10.03.2014, 18:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2014, 18:58

Написать рекурсивную функцию для вычисления суммы цифр натурального числа, введенного пользователем
Нужно написать рекурсивную функцию для вычисления суммы цифр натурального...

Написать рекурсивную функцию для нахождения произведения цифр натурального числа
.Написать рекурсивную функцию для нахождения произведения цифр натурального...

Найти m! + (m+n)!, создав рекурсивную функцию для вычисления факториала произвольного натурального числа. C++
Вот программа с рекурсией напишите без рекурсии пожалуйста #include #include...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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