Другие языки программирования и технологии

Напишите программу, которая...

Напишите программу, которая вводит натуральное число N и выводит на экран все натуральные числа, не превосходящие N и делящиеся на каждую из своих чисел.
ПОМОГИТЕ!! если что, то это по языку PascalABC
Владислав .
Владислав .
176
var i,n,k,f:integer;
begin
writeln('Vvedite n: '); readln(n);
for i:=1 to n do
begin
k:=i; f:=0;
while (k<>0) do
begin
if (k mod 10>0)and(i mod (k mod 10)>0) then f:=1;
k:=k div 10;
end;
if (f=0)and(i mod 10>0) then write(i,' ');
end;
end.
Александр Григорьев
Александр Григорьев
2 723
Лучший ответ
может быть на каждую из своих ЦИФР?
а кто такой "каждая из своих чисел" можно поподробнее?
Владислав . смотри, тип каждое число, которое получится, будет делиться на саму себя
program Prooga1;
function SumD(a: integer): integer;
var
k := 0;
begin
while a <> 0 do
begin
k := k + a mod 10;
a := a div 10;
end;
SumD := k;
end;

function isDel(a: integer): boolean;
begin
del := a mod SumD(a) = 0;
end;

var
n: integer;

begin
write('Введи число ');
readln(n);
for var i := 2 to n do
if isDel(i) then Writeln(i);
end.
program Prooga1;
function SumD(a: integer): integer;
var
k := 0;
begin
while a <> 0 do
begin
k := k + a mod 10;
a := a div 10;
end;
SumD := k;
end;

function isDel(a: integer): boolean;
begin
del := a mod SumD(a) = 0;
end;

var
n: integer;

begin
write('Введи число ');
readln(n);
for var i := 2 to n do
if isDel(i) then Writeln(i);
end.
var i,n,k,f:integer;
begin
writeln('Vvedite n: '); readln(n);
for i:=1 to n do
begin
k:=i; f:=0;
while (k<>0) do
begin
if (k mod 10>0)and(i mod (k mod 10)>0) then f:=1;
k:=k div 10;
end;
if (f=0)and(i mod 10>0) then write(i,' ');
end;
end.

Похожие вопросы