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

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

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

Как написать рекурсивную функцию вычисления количества цифр натурального числа?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2014, 18:24
Ответы с готовыми решениями:

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

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

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

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

8
Модератор
Эксперт по электронике
8569 / 6385 / 859
Регистрация: 14.02.2011
Сообщений: 22,214
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
Модератор
Эксперт функциональных языков программированияЭксперт Python
30477 / 16845 / 3466
Регистрация: 12.02.2012
Сообщений: 28,225
Записей в блоге: 5
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
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
Модератор
Эксперт по электронике
8569 / 6385 / 859
Регистрация: 14.02.2011
Сообщений: 22,214
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
Модератор
Эксперт функциональных языков программированияЭксперт Python
30477 / 16845 / 3466
Регистрация: 12.02.2012
Сообщений: 28,225
Записей в блоге: 5
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
Модератор
Эксперт по электронике
8569 / 6385 / 859
Регистрация: 14.02.2011
Сообщений: 22,214
10.03.2014, 18:51 7
Catstail,
то бишь ты сразу на все системы счисления написал, чтоб не мучили
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
30477 / 16845 / 3466
Регистрация: 12.02.2012
Сообщений: 28,225
Записей в блоге: 5
10.03.2014, 18:54 8
Не совсем... Там в коде умножение на 10. Нужен еще один параметр.
0
Модератор
Эксперт по электронике
8569 / 6385 / 859
Регистрация: 14.02.2011
Сообщений: 22,214
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2014, 18:58

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru