Как найти число единиц в числе паскаль

Лучший ответ

SK

Гуру

(4977)


9 лет назад

Можно вот так

var
x : integer;
i : integer;
s : string;
begin
x := 12341; //ввод числа
str(x,s); //преобразуем в строку
for i := length(s) downto 1 do begin
if s[ i ] = ‘1’ then writeln(‘found 1 in ‘,i);
end;
readln ;
end.

Остальные ответы

silver

Гуру

(4903)


9 лет назад

отделять от числа по одному знаку и сравнивать с единицей…

Антон БликПрофи (674)

9 лет назад

с помощью mod 10?

silver
Гуру
(4903)
если число вводится в переменную типа integer, то можно и mod…

Сержант

Оракул

(90716)


9 лет назад

как вариант можно преобразовать число в строку и посимвольно проверить…

Узнай цену своей работы

Формулировка задачи:

Требуется написать программу, которая находит число единиц в введённом числе.

Где ошибка и как её исправить?

Код к задаче: «Найти число единиц в введённом числе»

textual

Листинг программы

var
  n: LongInt;
  c: Integer;
begin
  Write('Введите число: '); ReadLn(n);
  c:=0;
  while n<>0 do begin
    if Abs(n mod 10)=1 then Inc(c);
    n:=n div 10;
  end;
  WriteLn(c);
end.

Полезно ли:

13   голосов , оценка 3.538 из 5

Похожие ответы

  1. Найти наибольшее число M (M>1) на которое сумма цифр числа N делится без остатка.
  2. Подсчитать количество чисел в текстовом файле, дописать в него числа, чтобы их стало 20
  3. Число с максимальным произведением цифр
  4. Напечатать числа в виде следующей таблицы:
  5. Определить, сколько раз в числе встречается его максимальная цифра
  6. Найти сумму бесконечного числового ряда с заданной точностью ε
  7. Дано натуральное число n. Вычислить заданное произведение
  8. Подсчет суммы степеней числа 2 (цикл while/do)
  9. Игра в числа. Не могу понять постановку
  10. Преобразовать двухзначное число из char в integer
  11. Вывести на экран ту из матриц, в которой наибольшее число строк, содержащих одни нули

Опубликовано 10.06.2017 по предмету Информатика от Гость
>> <<

Определить число единиц во введенном числе. Паскаль АБС

Ответ оставил Гость

Var
  s: string;
  i, k: integer;

begin
  Write(Введите произвольное число: ); Readln(s);
  k := 0;
  for i := 1 to length(s) do
    if s[i] = 1 then k := k + 1;
  Writeln(Количество единиц в числе равно , k);
end.

Тестовое решение:
Введите произвольное число: -156153451.4234111322
Количество единиц в числе равно 6

Оцени ответ

Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Перейти к содержанию

Определить количество разрядов числа

Просмотров 13к. Обновлено 15 октября 2021

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

Чтобы программно посчитать количество разрядов числа, необходимо последовательно его делить нацело на 10, пока это число не станет равным нулю. При этом считать количество делений. Например, дано число 345. После первого деления останется 34, после второго — 3, после третьего — 0. Таким образом, мы видим, что количество делений равно количеству разрядов числа.

Для реализации данного алгоритма следует использовать цикл «пока» (while). Условием его выполнения является неравенство числа нулю. Хотя, если вводятся только положительные числа или перед этим отрицательное число превращают в положительное, в условии может быть «больше нуля».

Перед циклом вводится переменная-счетчик (например, i), которой присваивается значение 0 и которая при каждом делении заданного числа внутри цикла увеличивается на единицу. После завершения деления именно ее значением будет определяться количество разрядов числа.

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

Pascal


var num: longint;

function digits (n:longint): byte;
var i: byte;
begin
i := 0;
while n > 0 do begin
n := n div 10;
i := i + 1
end;
digits := i
end;

begin
write ('Введите число: ');
readln (num);
if num<0 then num:=abs(num);
writeln ('Количество разрядов = ', digits(num));
end.



Введите число: -98
Количество разрядов = 2

Язык Си


#include < stdio.h>
int digits (int);

main() {
int num;
scanf("%d",&num);
printf("%dn", digits(num));
}

int digits(int n) {
int i;
if (n < 0) n = -n;
while (n > 0) {
n = n/10;
i += 1;
}
return i;
}



3543
4

Python

количество разрядов в числе Python


def digits(n):
i = 0
while n > 0:
n = n//10
i += 1
return i

num = abs(int(input('Введите число: ')))
print('Количество разрядов:', digits(num))



Введите число: 65098234
Количество разрядов: 8

КуМир


алг колич_разрядов
нач
цел num
ввод num
вывод разряды(num)
кон

алг цел разряды(цел n)
нач
цел i, m
m := n
i := 0
если m < 0 то m := -m всё
нц пока m > 0
m := div(m,10)
i := i+1
кц
знач := i
кон



-562
3

Basic-256


input num
gosub digits
end

digits:
if num < 0 then num = abs(num)
i = 0
while num > 0
num = num 10
i = i + 1
endwhile
print i
return



-7823342
7

Все категории

  • Фотография и видеосъемка
  • Знания
  • Другое
  • Гороскопы, магия, гадания
  • Общество и политика
  • Образование
  • Путешествия и туризм
  • Искусство и культура
  • Города и страны
  • Строительство и ремонт
  • Работа и карьера
  • Спорт
  • Стиль и красота
  • Юридическая консультация
  • Компьютеры и интернет
  • Товары и услуги
  • Темы для взрослых
  • Семья и дом
  • Животные и растения
  • Еда и кулинария
  • Здоровье и медицина
  • Авто и мото
  • Бизнес и финансы
  • Философия, непознанное
  • Досуг и развлечения
  • Знакомства, любовь, отношения
  • Наука и техника


4

Определить число единиц во введенном числе. Паскаль АБС

1 ответ:



0



0

Var
  s: string;
  i, k: integer;

begin
  Write(‘Введите произвольное число: ‘); Readln(s);
  k := 0;
  for i := 1 to length(s) do
    if s[i] = ‘1’ then k := k + 1;
  Writeln(‘Количество единиц в числе равно ‘, k);
end.

<em><u>Тестовое решение:</u></em>
Введите произвольное число: -156153451.4234111322
Количество единиц в числе равно 6

Читайте также

Var
  a : array [1..10] of integer;
  i, m : integer;
begin
  randomize;
  for i := 1 to 10 do
  begin
    a[i] := random (16) + 5;
    write (a[i], ‘ ‘);
  end;
  writeln;
  m := 1;
  for i := 2 to 10 do
     if (a[i] < a[m]) then m := i;
  write (m);
end.

sum = 0

while True:

   a = int(input())

   if a == 0:

       break

   if (a % 4 == 0) and (a % 10 == 2):

       sum += 1

writeln(sum)

A=10  S=0+10=10   вывод 10
A =7   S=10+7=17   вывод 7
A =4   S=17+4 =21  вывод 4
A= 1   S=21+1 =22  вывод 1
A=-2                       вывод 22

→→←←↑↑↑→→→→→
Надеюсь помог!

1. Определим, сколько всего пикселей содержит изображение.
1024×1024 = 2¹⁰×2¹⁰ = 2²⁰
2. Определим, сколько байт (и бит) приходится на цветность
2 Мб / 2²⁰ = 2×2²⁰ / 2²⁰ = 2 байта = 2×8 = 16 бит.

Ответ: 16 бит

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