Условие
Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр.
Решение
num_zeroes = 0 for i in range(int(input())): if int(input()) == 0: num_zeroes += 1 print(num_zeroes)
Добавить комментарий Отменить ответ
ЕГЭ на соточку для чайников
Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене
Как узнать сколько цифр в числе?
Здравствуйте! У меня вот такой вопрос, по заданию Натуральное положительное число записано в переменную n.
Определить и вывести на экран, сколько цифр в числе n.
X@OC
вот самый простой способ
int a = 33;
int b=0;
while(0!=(int)a)
a=(int)a/10;
b++;
>
System.out.println(b);
Похожие статьи
- Как сделать чтобы в Edit’е можно было вводить только цифры и минус
- Программа для отыскания заданного количества пар дружественных чисел
Посчитать общее количество определенных цифр в числах
Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел. Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры.
- Запросить у пользователя количество вводимых чисел ( n ) и цифру для подсчета ( d ).
- Присвоить счетчику цифр значение 0.
- Выполнить n раз цикл, в теле которого
- запрашивать очередное число,
- пока это число не сократиться до нуля
- извлекать последнюю его цифру и сравнивать с цифрой, которую надо посчитать,
- увеличивать значение счетчика цифр на 1, если сравниваемые цифры совпадают,
- избавляться от последней цифры числа.
Pascal
количество цифр в числе паскаль
var
m: word;
n,d,i, count: byte;
begin
write('Количество чисел: ');
readln(n);
write('Цифра: ');
readln(d);
count := 0;
for i:=1 to n do begin
readln(m);
while m > 0 do begin
if m mod 10 = d then
count := count + 1;
m := m div 10;
end;
end;
writeln('Количество цифр: ', count);
end.
Количество чисел: 6
Цифра: 5
301
8952
155
306
200
541
Количество цифр: 4Язык Си
#include
main () int n,d,m,count,i;
printf("Количество чисел: ");
scanf("%d", &n);
printf("Цифра: ");
scanf("%d", &d);
count = 0;
for(i=0;i < n;i++) scanf("%d", &m);
while (m>0) if (m%10 == d) count += 1;
m = m / 10;
>
>
printf("Количество цифр: %d\n", count);
>
Количество чисел: 4
Цифра: 1
10500
1400
500
201
Количество цифр: 3Python
количество цифр в числе python (питон)
n = int(input("Сколько будет чисел? "))
d = int(input("Какую цифру считать? "))
count = 0
for i in range(1,n+1):
m = int(input("Число " + str(i) + ": "))
while m > 0:
if m%10 == d:
count += 1
m = m // 10
print("Было введено %d цифр %d" % (count, d))
Сколько будет чисел? 5
Какую цифру считать? 0
Число 1: 508
Число 2: 1024
Число 3: 300
Число 4: 10101
Число 5: 15
Было введено 6 цифр 0КуМир
алг количество цифры
нач
цел m,n,d,i,count;
вывод "Количество чисел: "
ввод n
вывод "Цифра: "
ввод d
count := 0
нц для i от 1 до n
ввод m
нц пока m > 0
если mod(m,10) = d то
count := count + 1
все
m := div(m,10)
кц
кц
вывод "Количество цифр: ", count
кон
Количество чисел: 5
Цифра: 0
1099
8586
2300
15
10
Количество цифр: 4Basic-256
input "Количество чисел: ", n
input "Цифра: ", d
c = 0
for i=1 to n
input m
while m > 0
if m%10 = d then c = c+1
m = m \ 10
endwhile
next i
print "Количество цифр: " + c
Количество чисел: 10
Цифра: 4
1234
11
1287
8945
200783
12
84
9600
544
244
Количество цифр: 7Подписаться
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Новая статья
В 2023 году «Тинькофф» вернул призы в классическую
© 2023 Пошаговые инструкцииколичество цифр в числе паскаль
var
m: word;
n,d,i, count: byte;
begin
write(‘Количество чисел: ‘);
readln(n);
write(‘Цифра: ‘);
readln(d);
count := 0;
for i:=1 to n do begin
readln(m);
while m > 0 do begin
if m mod 10 = d then
count := count + 1;
m := m div 10;
end;
end;
writeln(‘Количество цифр: ‘, count);
end.Количество чисел: 6
Цифра: 5
301
8952
155
306
200
541
Количество цифр: 4main () int n,d,m,count,i;
printf(«Количество чисел: «);
scanf(«%d», &n);
printf(«Цифра: «);
scanf(«%d», &d);
count = 0;
for(i=0;i 0) if (m%10 == d) count += 1;
m = m / 10;
>
>
printf(«Количество цифр: %d\n», count);
>Количество чисел: 4
Цифра: 1
10500
1400
500
201
Количество цифр: 3количество цифр в числе python (питон)
n = int(input(«Сколько будет чисел? «))
d = int(input(«Какую цифру считать? «))
count = 0
for i in range(1,n+1):
m = int(input(«Число » + str(i) + «: «))
while m > 0:
if m%10 == d:
count += 1
m = m // 10print(«Было введено %d цифр %d» % (count, d))
Сколько будет чисел? 5
Какую цифру считать? 0
Число 1: 508
Число 2: 1024
Число 3: 300
Число 4: 10101
Число 5: 15
Было введено 6 цифр 0алг количество цифры
нач
цел m,n,d,i,count;
вывод «Количество чисел: »
ввод n
вывод «Цифра: »
ввод d
count := 0
нц для i от 1 до n
ввод m
нц пока m > 0
если mod(m,10) = d то
count := count + 1
все
m := div(m,10)
кц
кц
вывод «Количество цифр: «, count
конКоличество чисел: 5
Цифра: 0
1099
8586
2300
15
10
Количество цифр: 4input «Количество чисел: «, n
input «Цифра: «, d
c = 0
for i=1 to n
input m
while m > 0
if m%10 = d then c = c+1
m = m \ 10
endwhile
next i
print «Количество цифр: » + cКоличество чисел: 10
Цифра: 4
1234
11
1287
8945
200783
12
84
9600
544
244
Количество цифр: 7Как найти цифру в числе
Добрый день. Кто нибудь сможет объяснить, как это работает?
алгоритм нахождения цифры n-значного числа:
(num % 10 ** 1) // 10 ** 0
последняя цифра(num % 10 ** 2) // 10 **1
предпоследняя цифра(num % 10 ** 3) // 10 **2
предпредпоследняя цифра …(num % 10 ** n) // 10 ** n-1
первая цифра(num % 10 ** n-1) // 10 ** n-2
вторая цифраПрохожу курс программирования. Все, чем пользуюсь из инструкции выше не работает в заданиях и даже в VScode. Я в целом не понимаю, как работает (или как должен работать) алгоритм нахождения цифры n-значного числа.
Leo_Skil
27.03.23 11:52:05 MSK- Ответить на это сообщение
- Ссылка
12345678904 % 10 4Третье от конца:
Math.floor(12345678904 % 1000 / 100) 9Math.floor(12345678904 % 10000 / 1000) 8uwuwuu
( 27.03.23 12:00:40 MSK )
Последнее исправление: uwuwuu 27.03.23 12:07:01 MSK (всего исправлений: 3)- Ответить на это сообщение
- Показать ответ
- Ссылка
% это остаток от деления. Уже написали что 12345678904 % 10 = 4 это можно записать так 12345678904 / 10 = 1234567890.4 . Тоесть / просто поделит число, а % поделит число, уберёт целое и оставит остаток. % это оператор деления по модулю в виде функций оно имеет вид такой часто mod() На курсах должны это разжевать.
LINUX-ORG-RU ★★★★★
( 27.03.23 12:17:27 MSK )- Ответить на это сообщение
- Показать ответы
- Ссылка

int(str(num)[-i])вот так делайте раз это питон;-)
(num % 10 ** 1) // 10 ** 0 последняя цифра
Нормальные погромисты цифры в числе считают с другой стороны. Привыкайте.
AntonI ★★★★
( 27.03.23 12:35:18 MSK )
Последнее исправление: AntonI 27.03.23 12:42:45 MSK (всего исправлений: 2)- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 12:17:27 MSK

Тема // не раскрыта!
Вообще за переход от целочисленного деления в py2 к «обычному» в py3 ИМНО надо клавой по пальцам разработчиков.
AntonI ★★★★
( 27.03.23 12:41:20 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:41:20 MSK

А это я уже не знаю :3
LINUX-ORG-RU ★★★★★
( 27.03.23 12:42:59 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 12:42:59 MSK

В python2, как и в других нормальных ЯП, было 3/2=1
В python3 решили что это источник ошибок и стало 3/2=1.5
Но ввели операцию //, 3//2=1
AntonI ★★★★
( 27.03.23 12:45:05 MSK )- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 12:17:27 MSK
Кажется, я понял. Если конечную цифру находим так: n % 10 или остаток от n / 10 (что является последней единицей), то второе от конца должно быть так: n % 100 (запятая на еще один знак влево, что знаит что покажет последний десяток в числе), после нахождения десятка надо найти его первую цифру (от лева), т.е. найти число десятков (что нам и нужно): n / 10. И потом для каждой цифры левее в числе прибавляем по нолику в делителях:
второе от конца:
третье от конца:
n % 1000 / 100 #плюс нолик
А как находить первое число?
Leo_Skil
( 27.03.23 12:46:03 MSK ) автор топика
Последнее исправление: Leo_Skil 27.03.23 12:47:03 MSK (всего исправлений: 1)- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от Leo_Skil 27.03.23 12:46:03 MSK

Только не / а //, см выше.
num%10**(n-1)//10**(n-2)n = len(str(num))ps и не число а цифру.
AntonI ★★★★
( 27.03.23 12:48:42 MSK )
Последнее исправление: AntonI 27.03.23 12:49:55 MSK (всего исправлений: 1)- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от Leo_Skil 27.03.23 12:46:03 MSK
Если конечную цифру находим так: n % 10
Используйте нормальную терминологию — разряд, соответственно младший или старший разряд, а не «конечная цифра» и «первое число».
В противном случае вас никто не поймёт и даже может быть над вами будут смеяться.
Разряды обычно нумеруются с 0, это тоже ключик к пониманию представления числа.
vvn_black ★★★★★
( 27.03.23 12:49:58 MSK )
Последнее исправление: vvn_black 27.03.23 12:52:36 MSK (всего исправлений: 2)- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:45:05 MSK

Я не знаю питон и это хорошо я знать его не хочу ^.^
LINUX-ORG-RU ★★★★★
( 27.03.23 12:51:00 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 12:51:00 MSK

Хороший ЯП для своей ниши. Не без проблем конечно…
AntonI ★★★★
( 27.03.23 12:52:05 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:48:42 MSK
i586 ★★★★★
( 27.03.23 12:53:37 MSK )- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:52:05 MSK

Мне Lua хватает, для меня он почти идеален. Более того был бы ещё более куцый в идеале с 1 единственной версией или 100% обратной совместимостью, но отлаженный временем язык яб его взял. Питон я использовать не буду просто потому что принудительное форматирование, я прощаю это мake, но дальше для меня это уже перебор. Могу себе позволить дропнуть целый язык и всё что с ним связано ибо просто любитель, ключевое слово любитель если не любо то фтопку=)
LINUX-ORG-RU ★★★★★
( 27.03.23 12:55:42 MSK )
Последнее исправление: LINUX-ORG-RU 27.03.23 12:58:18 MSK (всего исправлений: 2)- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от i586 27.03.23 12:53:37 MSK

AntonI ★★★★
( 27.03.23 12:57:09 MSK )- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 12:55:42 MSK

Я не знаю Lua, но слышал много хорошего.
Да, с питоном уже начинаются проблемы из за его толстоты (с обратной совместимостью давно начались). Скажем мне сейчас на кластере развернутся не удается потому что нет python-dev (хидеров). Понятно что это решается, но времени жалко на все эти танцы с бубном.
Хотелось бы какую то минимальную версию питона шоб везде легко вставала и работала.
AntonI ★★★★
( 27.03.23 13:00:08 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от i586 27.03.23 12:53:37 MSK
Значит для нахождения первой цифры в числе мы делим ее на ее самый большой разряд, для чего берем num % 10n-1, где n — число цифр (так, чтобы перенести запятую после первой цифры). Он покажет первую цифру. Получившееся необходимо разделить нацело num //10n-2
Leo_Skil
( 27.03.23 13:02:57 MSK ) автор топика- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 13:00:08 MSK

Если использовать lua как язык общего назначения как используют питон то будет тоже самое если не хуже ибо luajit (lua5.1+пости lua5.2),lua5.2,lua5.3,lua5.4 и всё это в каше и всё несовместимо, байт код не совместим плюс ещё форки парчка. Но «не баг, а фича» луа дефакто всегда встроенный так что что встроил с тем и живёшь, беды с башкой начинаются когда хочешь взять библиотеку, а она на 5.3+ с операциями битовыми ААААААААААААААААААААА 😀
LINUX-ORG-RU ★★★★★
( 27.03.23 13:07:59 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от LINUX-ORG-RU 27.03.23 13:07:59 MSK

Ну питон можно встроить, но он потянет за собой внешние питоньи либы…
У нас одна из канонических архитектур это питоний пускач в котором ворочается плюсовая сошка, биндинг через SWIG. Интерфейс на питоне пишется куда приятнее чем на плюсах, все кучеряво пока есть питоньи хидеры… ;-(
PS бонус питона — он просто учится и его почти все знают. С lua не так;-)
AntonI ★★★★
( 27.03.23 13:13:52 MSK )
Последнее исправление: AntonI 27.03.23 13:14:41 MSK (всего исправлений: 1)- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от Leo_Skil 27.03.23 13:02:57 MSK
Вот вам для наглядности представление десятичного числа из статьи в википедии:
421 = 4 · 10² + 2 · 10¹ + 1 · 10⁰Вам же надо решить обратную задачу и по этому представлению легко понять, как оно так получается.
Прочитайте уже про позиционные системы счисления.
vvn_black ★★★★★
( 27.03.23 13:15:59 MSK )- Ответить на это сообщение
- Ссылка

#!/usr/bin/python # # depth from 0, -1 for the first digit # def digit_of_number(number, depth=-1): if (number<10) or (depth == 0): return number%10 else: return digit_of_number(number//10, depth-1) # test a = 12345 print("In: ", a) # print("Out 0: ", digit_of_number(a, 0)) print("Out 1: ", digit_of_number(a, 1)) print("Out 2: ", digit_of_number(a, 2)) print("Out 3: ", digit_of_number(a, 3)) print("Out 4: ", digit_of_number(a, 4)) print("Out 5: ", digit_of_number(a, 5)) print("Out -1: ", digit_of_number(a, -1)) print("Out ", digit_of_number(a) )In: 12345 Out 0: 5 Out 1: 4 Out 2: 3 Out 3: 2 Out 4: 1 Out 5: 1 Out -1: 1 Out 1futurama ★★★★★
( 27.03.23 13:39:05 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:45:05 MSK

В python3 решили что это источник ошибок и стало 3/2=1.5
так в матлабе. Хотя, целочисленное деление там idivide(A,B), что м.б. еще менее удобоваримо, чем //
seiken ★★★★★
( 27.03.23 13:40:01 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от seiken 27.03.23 13:40:01 MSK

Матлаб все таки очень нишевая вещь, я за 25 лет написания числодробилок работал с ним только один раз. ЯП общего назначения испольщуются гораздо чаще чем матлаб. Я слышал что в каких то новомодных ЯП тоже 3/2=1.5, но все таки это ИМНО изврат.
Хотя новички о целочисленное деление больно и регулярно бьются, это правда.
AntonI ★★★★
( 27.03.23 14:05:43 MSK )- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от futurama 27.03.23 13:39:05 MSK

Ой скока букоф… забудьте же про stdin для ввода параметров! Да и остальное лишнее.
#!/usr/bin/python3 import sys for x in sys.argv[1:]: if not x.isdigit(): print('incorrect', x); continue print(x, '=', ' + '.join(c+'*10**%i'%p for p, c in enumerate(reversed(x))))AntonI ★★★★
( 27.03.23 14:15:05 MSK )
Последнее исправление: AntonI 27.03.23 14:16:40 MSK (всего исправлений: 1)- Ответить на это сообщение
- Показать ответ
- Ссылка

Если метод непринципиален, то можно разбить, как строку
#!/usr/bin/pwsh $nn = [uint64]::MaxValue -split '(?!\b)' for ($i = 0; $i -lt $nn.count; $i++) < ': ' -f $i, $nn[$i] >0: 1 1: 8 # 2..17 18: 1 19: 5dmitry237 ★★
( 27.03.23 15:32:21 MSK )- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 14:15:05 MSK

Ты о чем вообще? Болеешь?
futurama ★★★★★
( 27.03.23 16:02:13 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от uwuwuu 27.03.23 12:00:40 MSK
Спасибо всем, кто отозвался
Leo_Skil
( 27.03.23 16:40:04 MSK ) автор топика- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от futurama 27.03.23 16:02:13 MSK

Я о Вашем коде. Вы циклы в школе еще не проходили? Ну ничего, все впереди.
Про stdin я виноват, не туда посмотрел.
AntonI ★★★★
( 27.03.23 18:26:12 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 18:26:12 MSK

Циклы? Что это? Рекурсию знаю, даже хвостатую, вроде.
futurama ★★★★★
( 27.03.23 22:43:51 MSK )- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от futurama 27.03.23 22:43:51 MSK

Это то во что может быть развёрнута рекурсия. И это работает быстрее, хотя питон не про скорость.
Но ещё длина цикла ограничена временем, а вот глубина рекурсии ограничена стеком…
AntonI ★★★★
( 27.03.23 23:17:51 MSK )- Ответить на это сообщение
- Ссылка

Так алгоритм непонятен или реализация не получается?
Если таки первое, предлагаю для начала осмыслить, что вообще такое цифра в позиционной (в частности, десятичной) системе счисления. А это по сути коэффициент при основании системы счисления в определённой степени. Все цифры образуют многочлен, степень которого определяется количеством цифр. То есть:
1326 = 1*10**3 + 3*10**2 + 2*10**1 + 6+10**0Взяв остаток от деления на 10, получим последнюю цифру, взяв остаток от деления на 100 и поделив на 10 — вторую справа и так далее.
Ну а дальше уже да, питонячья специфика начинается, про это в комментариях уже написали.
hobbit ★★★★★
( 27.03.23 23:29:20 MSK )
Последнее исправление: hobbit 27.03.23 23:30:23 MSK (всего исправлений: 1)- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от AntonI 27.03.23 12:45:05 MSK

И эти люди запрещают мне ковыряться в носу… Ужас.
А вроде как начиная с Python 3.5 можно явно объявлять типы. Что, если явно объявленное целое 3 разделить на столь же явное объявленное целое 2 — реально получается вещественный результат? Как же хорошо, что я не на питоне пишу…
hobbit ★★★★★
( 27.03.23 23:35:22 MSK )- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от hobbit 27.03.23 23:35:22 MSK

Вроде можно типы объявлять, но я этим не пользуюсь. У меня уже есть плюсы где типы обьявляют:-) Я на третий то питон недавно частично перешёл, очень много старого кода на втором который не удаётся перетащить на третий.
Объявление типов это попытка забороть траблы утиной типизации в больших проектах, когда оно через полгода крэшится неожиданно потому что эту трассу выполнения не тестировали. Ну дык не надо писать на питоне большие проекты, не для этого он…
И объявление типов не спасает, у них просто int/int==>float. Потому что неофиты страдают когда int/int==>int.
AntonI ★★★★
( 28.03.23 08:29:56 MSK )- Ответить на это сообщение
- Ссылка
