Другие языки программирования и технологии
Найти все натуральные числа, не превосходящие заданного числа n, которые делятся на каждую из своих цифр. Паскаль.
Помогите пожалуйста! Срочно! Нужно написать процедуру, функцию и процедуру без параметров.
{функция}
var x: LongInt;
function plo (n: LongInt): LongInt;
var i, j, k : integer;
c: longInt;
a: array [1..10] of integer;
begin
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
write ('n = ');
read (x);
plo (x);
end.
{процедура }
var x: LongInt;
procedure plo (n: LongInt);
var i, j, k : integer;
c: longInt;
a: array [1..10] of integer;
begin
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
write ('n = ');
read (x);
plo (x);
end.
{процедура без параметров}
procedure plo;
var i, j, k : integer;
n, c: longInt;
a: array [1..10] of integer;
begin
write ('n = ');
read (n);
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
plo;
end.
var x: LongInt;
function plo (n: LongInt): LongInt;
var i, j, k : integer;
c: longInt;
a: array [1..10] of integer;
begin
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
write ('n = ');
read (x);
plo (x);
end.
{процедура }
var x: LongInt;
procedure plo (n: LongInt);
var i, j, k : integer;
c: longInt;
a: array [1..10] of integer;
begin
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
write ('n = ');
read (x);
plo (x);
end.
{процедура без параметров}
procedure plo;
var i, j, k : integer;
n, c: longInt;
a: array [1..10] of integer;
begin
write ('n = ');
read (n);
for i:=1 to n do
begin
for j:=1 to 10 do a[j]:=0;
c:=i;
j:=0;
while c>0 do
begin
inc (j);
a[j]:=c mod 10;
c:=c div 10;
end;
c:=0;
for k:=1 to j do
if a[k] <> 0 then
if i mod a[k] = 0 then inc(c);
if c=k then write (i,' ':2);
end;
end;
begin
plo;
end.
var N,i,x:integer;
v:boolean;
c:byte;
begin
Write('N=');
readln(N);
for i:=1 to N do
begin
v:=true;
x:=i;
while x>0 do
begin
c:=x mod 10;
if (c=0) or (i mod c<>0) then begin v:=false; break end;
x:=x div 10;
end;
if v then write(i,' ')
end;
end.
v:boolean;
c:byte;
begin
Write('N=');
readln(N);
for i:=1 to N do
begin
v:=true;
x:=i;
while x>0 do
begin
c:=x mod 10;
if (c=0) or (i mod c<>0) then begin v:=false; break end;
x:=x div 10;
end;
if v then write(i,' ')
end;
end.
Вам нужен оператор mod
Это не помощь. Это называется - сделать за меня.
Похожие вопросы
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- Помогите пожалуйста!Паскаль. Дано натуральное число N. Получить наименьшее число вида 2(m в степени), превосходящее N.
- Найти все такие простые числа, не превосходящие заданного N, двоичная запись которых представляет собой симметричную
- помогите написать программу на паскаль Заданное натуральное число не превосходящее 1000 записать прописью, то есть выве
- Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при эт
- Требуется найти минимальное натуральное число с суммой цифр 123, которое делится на 1237 кто знаетпомогите алгоритмом!
- дано натуральное 5 значное число n.Сколько раз в данном числе встречаются цифры 4 или 8?
- Требуется напечатать разложение заданного числа n на простые множители.
- Чем отличается целое и длинное целое число от двойного с плавающей точкой? и сколько в каждом из них цифр
- Дано два натуральных числа а и б . Написать программу, которая будет находить и распечатывать все общие делители этих чи
Я бы преобразовала число в строку, вычислила длину строки, выдернула цифры, перехуярила их из символьных переменных в числовые и mod проверила делимость. Жертвы егэ...