Помогите пожалуста!!! Даны два числа. определить какой число имеет больше делителей. в паскале цикл
Помогите пожалуста!!! Даны два числа. определить какой число имеет больше делителей. в паскале цикл
Ответ(ы) на вопрос:
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.
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. Если что непонятно, как получается - пиши.
Не нашли ответ?
Похожие вопросы