Числа - Pascal (90354)

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

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

напишите решение в паскале получить все,не превышающего заданного числа N,которые делятся без остатка на все свои цифры

Решение задачи: «Числа»

textual
Листинг программы
var
t,i,n:longint;
a:array[1..10]of integer;
k,f,j:integer;
begin
writeln('vvedite n');
readln(n);
for i:=1 to n do
begin
k:=0;
t:=i;
f:=0;
repeat
inc(k);
a[k]:=t mod 10;
t:=t div 10;
until t=0;
for j:=1 to k do
if a[j]=0 then f:=1 else if i mod a[j]<>0 then f:=1;
if f=0 then write(i,' ');
end;
readln;
end.

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

  1. Объявлены переменные: t, i, n типа longint; a типа array[1..10]of integer; и k, f, j типа integer.
  2. Выводится сообщение vvedite n (введите n) и считывается значение переменной n.
  3. Запускается цикл, который выполняет следующие действия:
    • Устанавливается счётчик k равным 0.
    • Переменная t принимает значение i.
    • Переменная f устанавливается равной 0.
    • Цикл выполняется до тех пор, пока t не станет равным 0.
    • В каждой итерации цикла значение t делится на 10 и остаток от деления (модуль 10) записывается в соответствующий элемент массива a.
    • После цикла выполняется ещё один цикл, который проверяет каждый элемент массива a. Если элемент равен 0, то переменной f присваивается значение 1. Если остаток от деления i на элемент массива не равен 0, то переменной f также присваивается значение 1.
    • Если значение переменной f после второго цикла равно 0, то число i выводится на экран с помощью функции write(i,' ').
  4. Программа ожидает ввода с клавиатуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы