Как найти количество цифр в числе
Перейти к содержимому

Как найти количество цифр в числе

  • автор:

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

Для каждого пункта напишите функцию, возвращающую ответ.
0) Дано число, посчитайте количество цифр в числе. Например, 123456 -> 6
Подсказка: обратите внимание на то, что деление целочисленного значения
на целочисленное значение является целочисленным, т.е. в результате
отбрасывается дробная часть. Это должно помочь вам.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Посчитать количество определенных цифр в числе
Есть число, ну например 152535. Надо посчитать сколько в нём 5. Циклы, count, другие функции и.

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

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

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

Регистрация: 02.06.2013
Сообщений: 47
Клево, а проблема-то в чем? =)
Регистрация: 05.08.2013
Сообщений: 20

1 2 3
n = input() #введённое число - строка print(len(n))

Регистрация: 17.11.2009
Сообщений: 36

1 2 3 4
#python2.7 >>> a=12345 >>> len(str(a)) 5

Регистрация: 23.11.2013
Сообщений: 2

1 2 3 4 5 6 7
n = input('Введите число: ') summa = 0 while n>0: i = n%10 n = n/10 summa = summa + i print 'Сумма чисел равна =', summa

4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570

ЦитатаСообщение от Reg__a Посмотреть сообщение

вот так вот)
в принципе, верно, но не та концовка
Регистрация: 21.04.2019
Сообщений: 1

n = "00000" len(str(n))

4973 / 3209 / 1125
Регистрация: 21.03.2016
Сообщений: 7,939

ЦитатаСообщение от accept Посмотреть сообщение

Сообщение от Reg__a
вот так вот)
в принципе, верно, но не та концовка
в принципе строки не делятся на числа но ход мыслей правильный

1 2 3 4 5 6
n = int(input()) s= 0 while n : s += 1 n //= 10 print (s)

Эксперт Python

1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057

1 2 3 4 5 6 7 8 9 10 11 12 13
def coonter(n): n = abs(n) count = 1 n //= 10 while n > 0: n //= 10 count += 1 print(count) if __name__ == '__main__': n = int(input()) coonter(n)

Регистрация: 13.04.2021
Сообщений: 1

1 2 3 4 5 6 7 8 9 10 11
n = int(input()) sum = 0 while n > 0: i = n % 10 n //= 10 sum += i print(sum)

Эксперт Python

1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057

1 2 3 4 5 6 7 8 9 10 11
n = int(input()) sum = 0 while n > 0: i = n % 10 n //= 10 sum += 1 #количество это +1 print(sum)

Регистрация: 05.10.2021
Сообщений: 35

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

ЦитатаСообщение от Semen-Semenich Посмотреть сообщение

в принципе строки не делятся на числа но ход мыслей правильный

1 2 3 4 5 6
n = int(input()) s= 0 while n : s += 1 n //= 10 print (s)

Здравствуйте, Семён. Мне понравилось то, как вы сделали. Можете пожалуйста объяснить как новичку что и зачем вы здесь делали?) Буду очень благодарен за ответ!

Регистрация: 01.09.2022
Сообщений: 6
А если n == 0 то количество цифр должно быть равно 1
634 / 474 / 179
Регистрация: 28.05.2012
Сообщений: 1,411

ЦитатаСообщение от senkky Посмотреть сообщение

А если n == 0

n = abs(int(input())) print(len(str(n)))

5161 / 2636 / 545
Регистрация: 07.11.2019
Сообщений: 4,351

Потестируйте ваши решения на таких числах: 7+3j, 5e-7, 100_000, 3.62

Я бы использовал что-то такое:

print(sum(1 for i in input() if i.isdecimal()))

или isdigit, isnumeric.
Регистрация: 11.06.2022
Сообщений: 38

1 2 3 4 5 6 7
import re try: digit = input("Введите число: ") numbers = re.findall("\d", digit) print(f"Цифр в числе: ", end='') except Exception: pass

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

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

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

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

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

Посчитать количество цифр в числе ?
есть число, его задает пользователь в консоли допустим 1238487805 в данном числе максимальная.

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

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

Как посчитать количество цифр в числе (число начинается на ноль)

Просто потому что если читать не строку, а число — то введете вы 00094 или 94 — в вашем x будет одно и то же число.

Отслеживать
ответ дан 12 дек 2019 в 14:36
218k 15 15 золотых знаков 117 117 серебряных знаков 229 229 бронзовых знаков

А как тогда после из него «взять» первую, вторую и последующие цифры? Мне вот например нужно чтобы цифры на парных местах додавались, на непарных перемножались и этого всего найти суму.

12 дек 2019 в 14:42

x[0] — первая цифра (как символ! чтобы получить ее числовое значение, нужно вычитать символ ноля — x[0]-‘0’ ), x[1] — вторая и так далее.

12 дек 2019 в 15:02
Как я понимаю это массив, но как вычитать символ ноля я так и не понял.
12 дек 2019 в 15:34
Я же написал: x[0]-‘0’ . Просто перенести в свой код можете? Выделить, Ctrl-C, Ctrl-V?
12 дек 2019 в 15:37

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Программа для нахождения количества цифр в числе

Программа принимает число и выводит количество цифр в нем.

Решение задачи

  1. Берем значение целого числа и записываем его в переменную.
  2. Используем цикл while и при помощи оператора целочисленного деления «уничтожаем» каждую цифру числа начиная с последней, а при каждой итерации цикла специально созданную переменную (так называемый счетчик цикла) увеличиваем на единицу. После того как введенное в начале число станет равным 0, цикл прекратит свою работу.
  3. Выводим значение этого счетчика на экран.
  4. Конец.

Исходный код

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

n = int(input("Введите число:")) count = 0 while(n > 0): count = count + 1 n = n // 10 print("Количество цифр равно:", count)

Объяснение работы программы

  1. Записываем введенное пользователем число в переменную n .
  2. Задаем переменную count и инициируем ее значением 0.
  3. Используем цикл while и при помощи оператора целочисленного деления «уничтожаем» каждую цифру числа начиная с конца.
  4. При каждой итерации цикла переменная count увеличивается на 1.
  5. Как только цифры в числе заканчиваются и число n становится равным 0, цикл прекращает свою работу.
  6. Выводим переменную count на экран.

Результаты работы программы

Пример 1: Введите число:123 Количество цифр равно: 3 Пример 2: Введите число:1892 Количество цифр равно: 4

Примечание переводчика

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

print("Количество цифр равно:", len(input("Введите число:")))

Здесь введенное число принимается как строка и мы просто выводим ее длину.

Как правильно найти количество цифр заданного целого числа?

Мой код проходит по всем тестам на 90% , не проходит один тест. Проблему почему не проходит на все 100 — не нашёл.. Условие: Найти количество цифр заданного целого числа number . Пример: вводим число 37 должно вывести число 2 . Код:

#include int main() < long long int number = 0; int result = 0; std::cin >> number; while(number != 0) < number /= 10; result++; >std::cout

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
задан 4 мар 2022 в 18:35
user482879 user482879
Подумайте, что произойдет, если заданное число не помещается в long long int.
4 мар 2022 в 18:59
А что будет если ввести ноль?
– user361068
4 мар 2022 в 19:14

коду не важно число отрицательное или нет. Просто напишите один цикл: while(number != 0) < number /= 10; ++result; >или можно сразу вывести результат: cout << static_cast(log10(abs(number))) + 1;

4 мар 2022 в 20:40
@ARHovsepyan, спасибо, но всеравно 90%
– user482879
5 мар 2022 в 9:48
@EOF, Если ввести 0, будет 0.
– user482879
5 мар 2022 в 9:48

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Почти наверняка в том единственном тесте вводится 0 .

Делать условие именно на то, что юзер введёт цифру 0, и нужно вывести 1. Както колхозно, как можно реализовать без етого?

Делать отдельно условие нормально, но если есть желание сделать без условия, то можно и без него:

cin >> number; int result = 1; while (number /= 10) ++result; cout  

Отслеживать
ответ дан 5 мар 2022 в 10:17
122k 24 24 золотых знака 124 124 серебряных знака 297 297 бронзовых знаков

Делать условие именно на то, что юзер введёт цифру 0, и нужно вывести 1. Както колхозно, как можно реализовать без етого?

– user482879
5 мар 2022 в 10:21
@Denys, дополнил.
5 мар 2022 в 10:23
Да, спасибо большое.
– user482879
5 мар 2022 в 10:28

Если вводите с консоли, то и не нужно рассматривать последовательность цифр как число. Можно просто читать и "выбрасывать" символы_цифры, с увеличением счетчика:

int res<>; while (isdigit(getchar())) ++res; printf("%d", res); 

Вариантов решения много. Задание должно четко выразить что критично и каким образом задается объект. Потому что "задано число" наталкивает написать функцию с целочисленным аргументом, а пример рождает вопрос "откуда вводится?".

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

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