В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

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

Показать ответ
Ответ:
Флов227монстр
Флов227монстр
12.06.2020 00:57

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.

0,0(0 оценок)
Ответ:
mryermachkov
mryermachkov
12.06.2020 00:57

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.

 

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота