kapi30
?>

Что будет возвращать функция , какое значение, при обращении к ней с параметрами a=5 и b=5 что же будет происходить?

Информатика

Ответы

m-illarionov
// PascalABC.NET 3.2, сборка 1401 от 14.03.2017
// Внимание! Если программа не работает, обновите версию!

1. Решение без проверки вводимых данных

begin
  var a,b:integer;
  Read(a,b);
  var P:=ArrFill(30,0);
  for var i:=a-1 to b-1 do P[i]:=2;
  P.Println
end.

Пример
2 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2. Решение с контролем ввода

begin
  var a:=ReadInteger('Введите a от 1 до 30:');
  if a<1 then begin Writeln('Неверно'); Exit end;
  var b:=ReadInteger('Введите b от '+a.ToString+' до 30:');
  if (b<a) or (b>30) then begin Writeln('Неверно'); Exit end;
  var P:=ArrFill(30,0);
  for var i:=a-1 to b-1 do P[i]:=2;
  P.Println
end.

Пример
Введите a от 1 до 30: 2
Введите b от 2 до 30: 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Yurevna-Anatolevna

program z1;

var a,b,k: integer;

begin

k:=0;

read(a,b);

repeat

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

k:=k+1;

until (a=0) or (b=0);

write (a+b,' ',k)

end.

Объяснение:

Ввод чисел

Цикл с постусловием

Если a больше b, то заменяем a на остаток от деления на b, иначе заменяем b на остаток от деления на a

Увеличиваем k на 1 (считаем количество шагов цикла)

Заканчиваем цикл если a=0 или b=0

Выводим на экран НОД (сумму a+b, так как или a=0 или b=0, то их сумма это оставшееся число не равное 0) и количество шагов цикла (k)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Что будет возвращать функция , какое значение, при обращении к ней с параметрами a=5 и b=5 что же будет происходить?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

bronco-s
svetasvetlana429
mupmalino2653
YuRII1236
ribanina
Vladimirovna Viktorovna
Vyacheslavovich1431
supercom-ru-marinaguseva4267
Kolokolnikova DANIIL179
mali2681208
yulyaderesh
chapaevval
serkinn69
Barabanov Gerasimenko
VladimirovnaBugrova