Помогите пожалуста!!! Даны два числа. определить какой число имеет больше делителей. в...

0 голосов
28 просмотров

Помогите пожалуста!!! Даны два числа. определить какой число имеет больше делителей. в паскале цикл


Информатика (91 баллов) | 28 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

var a,b,i,nda,ndb:integer;

begin

   readln(a,b);

   nda := 0;

   ndb := 0;

   for i := 1 to a do

      if (a mod i = 0) then inc(nda);

   for i := 1 to b do

      if (b mod i = 0) then inc(ndb);

   if (nda > ndb) then

      writeln(a, ' has more divisors than ', b)

   else if (ndb > nda) then

      writeln(b, ' has more divisors than ', a)

   else

      writeln(a, ' and', b, ' has equal number of divisors')

end.

(148k баллов)
0 голосов

var
a,b,i,n,k,z:integer; {k, z - количество делителей числа}

BEGIN
readln(a,b); {Cчитаем эти два числа}

k := 1;
z := 1;

if a > b then
n := a
else
n := b;

for i := 2 to n do
begin
if (a >= i) and (a mod i = 0) then
k := k + 1;
if (b >= i) and (b mod i = 0) then
z := z +1
end;

if k = z then
write('Одинаковое количество делителей')
else
if k > z then
write('Число a имеет больше делителей')
else
write('Число b имеет больше делителей')
END.

 

Если что непонятно, как получается - пиши.

(807 баллов)