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

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

10.03.2021, 15:01. Показов 5878. Ответов 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 / 495
Регистрация: 17.11.2018
Сообщений: 2,840
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
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru