Решить pascal в массиве состоящем из 15 целых чисел заменить все числа кратные 3 на 0.
213
353
Ответы на вопрос:
Program al; const n=15; var a: array[1..n] of integer; i: integer; procedure zam; begin for i : = 1 to n do if a[i] mod 3=0 then a[i]: =0; end; begin writeln('vvedite massiv='); for i: =1 to n do readln(a[i]); zam; writeln('noviy massiv='); for i : = 1 to n do write (a[i]: 4); readln; end.
Var a: array[1..15]of integer; i: integer; begin write('до: '); for i: = 1 to 15 do begin a[i]: =random(15)+1; write(a[i],' '); if a[i] mod 3 = 0 then a[i]: =0 end; writeln; write('после: '); for i: = 1 to 15 do write(a[i],' ') end.
Отличается скоростью
В обычном алгоритме Евклида мы последовательно вычитаем из большего меньшее, пока они не станут равны.
В модифицированном мы берем остаток от деления большего на меньшее, пока одна из переменных не станет равной 0.
То есть если взять числа 36 и 48, то
Обычный алгоритм Евклида:
1) 48 - 36 = 12
2) 36 - 12 = 24
3) 24 - 12 = 12
4) Вывод 12
Модифицированный:
1) 48 %(mod) 36 = 12
2) 36 %(mod) 12 = 0
3) Вывод 12
Разница в 1 шаг из-за того, что числа маленькие, с большими числами разница в количестве шагов больше.
Популярно: Информатика
-
ez0lotareva16.01.2020 07:37
-
mishaniy03.02.2022 14:35
-
akmsulu06.06.2020 03:55
-
алина390315.05.2023 22:38
-
Nigdui02.04.2021 18:13
-
SSultanShaS18.12.2020 18:34
-
enotic00913.12.2020 15:37
-
Sn915.02.2021 06:59
-
SashaWest26.07.2020 15:07
-
ЛамповаяУмничка08.05.2022 23:56