Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
 Аватар для usb2
2 / 2 / 0
Регистрация: 10.03.2021
Сообщений: 20

функция вычисляющая количество цифр у беззнакового целого числа

10.03.2021, 15:01. Показов 5718. Ответов 20

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Прошу помочь великовозрастному начинающему оленю с оптимизацией кода.
Наставника не имею, на курсы ходить нет возможности, а самостоятельное изучение предмета без подзатыльников и поправок извне, неизбежно приведет к задеванию рогами ветвистых деревьев требований к конечному продукту.

Что имеем:
Тема "Рекурсия".
Задача (локальная) написать функцию, вычисляющую количество цифр у беззнакового целого.
С чем я справился (программа работает и выдает верный результат), но есть чувство, что справился, как истинный ламер.
Есть ощущение, что все можно уместить в одной строке, но на такую версию моего кода компилятор начинает ругаться на типы, что заставило меня сдаться и обратиться за помощью к залу).

На данный момент имею понятие о указателях и ссылках (т.е. мог бы применить, но есть ли в этом смысл в данном примере?).

Что хочу от опытных дядек:
Конструктивной критики (можете сказать, что код полное *овно, но пожалуйста, аргументируйте и подскажите, как надо).
Покажите пожалуйста пример вашего кода для данной задачи, который Вы бы сочли достойным по следующим критериям:
  1. быстродействие
  2. занимает минимум памяти после компиляции
  3. использует минимум памяти в процессе исполнения
  4. изящный и красивый алгоритм.
  5. читаемый код (не стыдно передать для отладки компаньону)

Ограничения:
Не использовать дополнительные библиотеки (типа математических и строковых).


C++
1
2
3
4
5
6
7
8
9
10
11
int8_t countNum = 0;           //количество цифр (это глобальная переменная)
int numb = 48432;               // вводимое число (вводится пользователем в процессе выполнения)
 
int countNumR (int numb){   // рекурсия деление на 10, пока больше 1 : количество знаков беззнакового  целого
    numb = numb/10;            
    countNum++;                  // всю функцию пытался в одной строке решить, но компилятор ругался на типы.
    if (numb > 1) {              
        countNumR(numb);
    }
    return (numb);
}
Спасибо, что дочитали
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2021, 15:01
Ответы с готовыми решениями:

Функция вычисляющая количество цифр числа и сумму этих цифр
Не могу найти ошибку. Помогите пожалуйста. Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и...

Рекурсивная функция, вычисляющая количество нечетных цифр данного числа
Всем привет,нужна помощь.Нужно написать на С++ рекурсивную функцию, вычисляющую количество нечетных цифр данного числа.

Функция возвращающая количество цифр в десятичной записи целого числа
Напишите функцию, которая для любого целого аргумента возвращает количество цифр в его записи. Продемонстрируйте работу данной функции на...

20
 Аватар для analogov net
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,838
13.03.2021, 10:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от usb2 Посмотреть сообщение
к чему эта единица плюсуется, что-то я не пойму
К результату, который вернулся из предыдущего вызова функции...
Т.е. последний вызов ф-ции CountNumR(0) вернул 0 в вызывающую её ф-цию - CountNumR(4).
Эта ф-ция приняла этот 0, прибавила к нему свою +1 и вернула результат в вызывающую её ф-цию - CountNumR(45).
Эта ф-ция приняла эту 1, прибавила к ней свою +1 и вернула результат (2) в вызывающую её ф-цию main.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2021, 10:58

Функция находящая количество цифр целого положительного числа K
помогите решить эту задачу на Python Описать функцию DigitCount(K) целого типа, находящую количество цифр целого положительного числа...

Функция: найти количество C цифр целого положительного числа K, а также их сумму S
Описать функцию DigitCountSum(K), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S —...

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

Функция, вычисляющая количество цифр и букв в параметре
Прошу помогите пожалуйста, буду очень благодарен. Реализуйте функцию на языке PHP, которая вычисляет количество букв и цифр в параметре...

Функция вычисляющая произведение m последних цифр числа n
Функции пользователя!Даны натуральные числа n,m. Получить произведение m последних цифр числа n.


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru