Как посчитать количество цифр в числе python

Как посчитать количество цифр в числе?

Как посчитать количество цифр в числе
i1:= 3284; i2:=214; i3:= 23473; i4:= 1; Как посчитать количество цифр в числе в i1 — 4 i2 -.

Как посчитать количество цифр в числе после запятой
есть число 3.45678 как посчитать числа после запятой т.е. 5

Как посчитать количество повторений каждой из цифр в числе N*N?
я очень плохо ориентируюсь на С++.Такой вопрос:можно числа переводить в строки?И если нет,то как.

Как посчитать количество цифр в числе типа Real
Допустим у меня есть два числа типа Real r1:= 32.3456 r2:= 1.63 Как в них посчитать и целую.

Сообщение от Reg__a
Сообщение от accept

Добавлено через 4 минуты

Сообщение от Semen-Semenich

Посчитать количество цифр в числе
Помогите не могу никак разобратся! нужно сщздать прогу. Пользователь вводит с клавиатуры число.

Посчитать количество цифр в числе
как посчитать количество цифр в числе?

Рекурсия: посчитать количество цифр в числе
помогите решить задачу с помощью рекурсии, надо посчитать количество элементов в числе.Я сделал.

Посчитать количество цифр 7 в каждом числе
здравствуйте, подскажите пожалуйста с задачей: дано 5 чисел. посчитать количество цифр 7 в каждом.

Как посчитать количество цифр в числах в разных базах?

Я работаю с числами в разных базах (база-10, база-8, база-16 и т. Д.). Я пытаюсь посчитать количество символов в каждом номере.

Я знаю о методе, основанном на логарифмах, но я сталкиваюсь с некоторыми проблемами.

Этот скрипт Python сообщает, что ему не удалось правильно рассчитать количество цифр в 3 969 числах из 1 000 000.

Я думаю, что метод, который использует логарифмы, может быть довольно медленным

Эта программа на C должна быть очень медленной (что, если у меня очень большое количество?). Он также не может иметь дело с числами в разных базах (например, base-16).

Не обман этого, поскольку там был ОП спрашивать только о базе-10

Правка . Конечно, я могу вычислить длину строки, но что меня больше всего интересует, так это возможность вычислить без согласования со строкой . Я хотел бы знать алгоритм, который мог бы помочь сделать это, зная только source-base и базу для преобразования в .

Edit2: source-base — это base-10 , а базой для преобразования в может быть любая другая база.

Как мы можем рассчитать количество цифр в числах в разных базах?

Если я знаю число в base-10, как рассчитать количество цифр в том же числе, преобразованном в base-16 (base-8 и т. Д.) без выполнения преобразования ?

Примечание : некоторые коды Python или C будут высоко оценены

3 ответа

Логарифмы не должны быть медленными. И вы можете легко вычислить логарифмы для любого основания по этой формуле: logBaseN(x)=logBaseA(x)/logBaseA(N) — вы можете использовать ln (Base e = 2.718 . ) или logBase10 или что-либо еще, что у вас есть. Так что вам не нужна программа, формуляр должен это сделать:

Где N — ваш номер, а base — база, в которой вы хотите этот номер.

Я не уверен, что понимаю ваш вопрос. Когда вы говорите, что ваше начальное число находится в базе b1, означает ли это, что вы представляете его в виде строки в базе b1? Может быть, вы хотите построить какую-нибудь таблицу, которая скажет вам, какое число в базе b1 соответствует b2, b2 ^ 2, b2 ^ 3, . а затем сравните ваше число с этими числами, чтобы увидеть, куда оно подходит.

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

Ввод: ваше целое число x, основание b2, в котором вы хотите посчитать цифры.

Оба метода являются только линейными по n.

РЕДАКТИРОВАТЬ . Если вы хотите работать быстрее, вы можете реализовать это как бинарный поиск. Тогда вы можете получить O (log (n)).

Обратите внимание, что ваша NumToStr() функция в вашем коде Python неверна из-за непостоянства в вашей базе, она должна быть:

Обратите внимание, что проверка того, что эта функция возвращает правильный результат, обнаружила бы ошибку (например, используйте alpha=»0123456789″ ).

С помощью этого исправления мы получаем правильное количество цифр, используя данную формулу:

кроме для точных степеней базы ( base**0 , base**1 , base**2 и т. д.), где она ровно на единицу меньше, чем должна быть. Это можно исправить, немного изменив forumla:

Обратите внимание, что даже это, похоже, не работает для некоторых входов (например, при преобразовании из base-10 в base-10 неправильно указывается 3 цифры для 1000 и 6 цифр для 1000000). Это, кажется, связано с присущей неточностью поплавков, например:

Выводит 2 вместо ожидаемого 3 .

Что касается вашего упоминания о производительности, я не буду беспокоиться о проблемах производительности для такого тривиального кода, пока вы не выполните профилирование / сравнительный анализ, который показывает, что это проблема. Например, ваш «очень медленный» код на C займет не более 38 делений на 10 для 128-битного числа. Если вам нужна лучшая производительность, чем эта, вы столкнетесь с той же проблемой, что и любой тривиальный метод, упомянутый здесь. Самая быстрая вещь, о которой я могу подумать, — это пользовательская функция log() , использующая комбинацию таблицы поиска и линейной интерполяции, но вы должны быть осторожны с полученной точностью.

Функция карты Python | Подсчитать общее количество бит во всех числах от 1 до n

Учитывая положительное целое число n, подсчитайте общее количество установленных бит в двоичном представлении всех чисел от 1 до n.

У нас есть решение этой проблемы, пожалуйста, обратитесь к ссылке Количество установленных битов во всех числах от 1 до n ссылки. Мы можем решить эту проблему в python, используя функцию map () . Подход очень прост,

  1. Напишите функцию, которая сначала преобразует число в двоичное с использованием функции bin (num) и возвращает в ней количество установленных битов.
  2. Отобразите пользовательскую функцию в список чисел от 1 до n, и мы получим список отдельных счетчиков установленных битов в каждом номере.
  3. Суммируйте количество всех установленных битов.

# Функция для подсчета общего количества установленных бит во всех числах
# от 1 до n

Упражнение на Python: подсчет количества четных и нечетных чисел из ряда чисел

Напишите программу на Python для подсчета количества четных и нечетных чисел из серии чисел.

Наглядное представление четных чисел:

Наглядное представление нечетных чисел:

Пример решения:

Код Python:

Блоксхема:

«Блок-схема:

Четные числа от 1 до 100:

Нечетные числа от 1 до 100:

Визуализируйте выполнение кода Python:

Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *