4 / 4 / 0 Регистрация: 08.11.2012 Сообщений: 106 |
|
1 |
|
Подсчитать количество цифр в числе14.11.2012, 23:59. Показов 88921. Ответов 1
Всем привет … 3.С клавиатуры вводится натуральное число N . Программе подсчитать количество цифр в числе . Буду очень благодарен …
0 |
Pahanuch 328 / 163 / 89 Регистрация: 03.11.2010 Сообщений: 920 |
||||
15.11.2012, 00:19 |
2 |
|||
Сообщение было отмечено Памирыч как решение Решение
3.С клавиатуры вводится натуральное число N . Программе подсчитать количество цифр в числе .
0 |
Исходник программы, которая находит количество цифр в числе, введённого пользователем с клавиатуры. Исходник основан на цикле WHILE. Есть пояснительные комментарии к каждой строке. Увидеть
исходный код
и скачать скомпилированный исходник вы можете ниже.
Исходный код программы для нахождения кол-ва цифр в числе:
Program kolcifr; //Название программы
var a, kol: integer; //Описание переменных
Begin //Начало программы
Writeln (‘Введите число’); //Диалог с пользователем
Readln (a); //Считывание числа
while a<>0 do begin //Вход в цикл while, пока а не равно 0
a:=a div 10; //Целочисленное деление на 10, отрезаем последнюю цифру
kol:=kol+1; //Считаем кол-во цифр
end; //Конец цикла
Writeln (‘Кол-во цифр: ‘,kol);//Вывод результата
end. //Конец программы
Скомпилированный исходник рекомендовано открывать программами PascalABC и PascalABC.Net.
Скачать исходник:
kolcifr.pas
Дата: 2012-03-11 08:59:25 Просмотров: 38913
Теги: Паскаль Pascal циклы WHILE исходник
Вычисляем сколько цифр в числе и суммируем их.
Вновь задачка и решение.
Задача звучит примерно так:
Составить программу, которая при вводе числа определит сумму (произведение, разность..) ее цифр (т.е. для суммы 123 => 1+2+3=6)
Для примера была данна задачка с использованием case of, где идут интервалы 1..9,10..99… — возможное кол-во цифр в числе. Занимает очень много места и мне она просто не понравилась.
В этот раз не искал возможных решений в интернете, а просто стал придумывать алгоритм.
Взял за основу возможность деления нацело (mod и div). Т.е. отсекаю каждый раз по цифре и проверяю ее. Заканчиваю вводную и представляю код.
Код ( опять без форматирования ):
uses crt;
var
x:longint;
i,n:integer;
begin
clrscr;
write(‘x: ‘);
readln(x);
i:=0; n:=0;
while x<>0 do begin
i:=i+(x mod 10);
x:=x div 10;
n:=n+1;
end;
writeln(‘Cумма : ‘,i);
write(‘Кол-во цифр : ‘,n);
readln;
end.
Теперь через процедуру и немного изменим условия.
Надо посчитать все цифры в числе, кот-ые кратны 3.
Код:
uses crt;
var
x:longint;
procedure nums(x:longint);
var sum,count:integer;
begin
sum:=0; count:=0;
// начинаем цикл с проверкой числа, если число законичилось,т.е. = 0, то закончить
repeat
// здесь проверяем кратность цифры
if x mod 10 <>0 then if (a mod 10) mod 3 = 0
// подсчитываем кол-во цифр
then count:= count +1;
// далее от числа убираем цифру, которую проверяли выше
x:=x div 10;
until x=0;
writeln(‘Сумма : ‘,sum);
write(‘Кол-во цифр : ‘,count);
end;
begin
clrscr;
write(‘Введите число : ‘);
read(x);
nums(x);
readln;
end.
Посчитать общее количество определенных цифр в числах
Просмотров 13.8к. Обновлено 15 октября 2021
Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел. Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры.
- Запросить у пользователя количество вводимых чисел (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
Язык Си
#includemain () {
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("Количество цифр: %dn", count);
}
Количество чисел: 4
Цифра: 1
10500
1400
500
201
Количество цифр: 3
Python
количество цифр в числе 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
Количество цифр: 4
Basic-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
3 ответа
2
10 октября 2006 года
squirL
5.6K / / 13.08.2003
нафига это писать?
Цитата:
Целое положительное число n. Определить количество значищих цифр в числе.
1. считываем целое положительное число
2. преобразовываем его при помощи функции IntToStr в строку
3. подсчитываем число символов в этой строке функцией Length
3.0K
10 октября 2006 года
Мerlin
267 / / 25.07.2006
«Классический» вариант
Код:
program Pr;
var
x, cnt : Integer;
begin
Write(‘Введите число: ‘);
ReadLn(x);
cnt := 0;
repeat
x := x div 10;
Inc(cnt);
until x = 0;
WriteLn(‘Число состоит из ‘, cnt, ‘ цифр.’);
end.
15K
10 октября 2006 года
AUMaster
9 / / 10.10.2006
СПАСИБО!