самир1078
?>

Напишите функцию, (через процедуру ) которая находит наибольший общий делитель двух натуральных чисел. пример: введите два натуральных числа: 7006652 112307574 нод(7006652, 112307574) = 1234.

Информатика

Ответы

restkof
Function gcd(a, b: longint): longint; // нахождение нод var   i: longint; begin   while b < > 0 do   begin       a : = a mod b;       i : = b; b : = a; a : = i   end;   gcd : = a end; var   a, b: longint; begin   write('введите два натуральных числа: '); readln(a, b);   writeln('нод(', a, ',', b, ')=', gcd(a, b)) end. тестовое решение: введите два натуральных числа: 7006652 112307574 нод(7006652,112307574)=1234
Lyalikova
1. определим по косвенным признакам, какие ответы нам заранее не подходят (это быстро и может сильно дальнейшее решение) а) находим самую старшую цифру в примере - это 5. основание системы счисления должно быть не меньше, чем эта цифра плюс один, т.е. не меньше шести. пятиричная и двоичная система "выбывают". б) 14+15=29 в привычной нам десятичной системе счисления. а в ответе 31, т.е. больше. это возможно только если основание системы счисления меньше десяти. шестнадцатиричная система тоже выбыла. 2. посмотрим, что происходит при сложении в самом правом разряде. в десятичной системе 4+5=9, а у нас 4+5=1. так не бывает, на самом деле получилось 11, просто единичка пошла в старший разряд. но 11 больше 9 на 2, значит, основание системы счисления на 2 меньше, чем 10. 10-2=8. такой вариант у нас есть - один из двух возможных. его и выбираем. ответ: восьмкричная
Igor120
// pascalabc.net 3.2, сборка 1437 от 03.05.2017 // внимание! если программа не работает, обновите версию! begin   writeln('*** исходный массив 12x12 ***');   var a: =matrrandom(12,12,-99,99);   a.println(4); writeln(4*a.colcount*'-');   writeln('строка, содержащая максимальный элемент');   a.row(a.elementswithindexes.select(e-> (e[0],e[2]))           .maxby(e-> e[1])[0]).println;   writeln('*** итоговый массив 12x12 ***');   foreach var i in range(0,11,2) do       a.setrow(i,(a.row(i).sorted.toarray));     a.println(4) end. пример *** исходный массив 12x12 ***   88 -26 -91 -74 -60  21  71  40  70  -1 -72  31   -58 -66  49  -5 -22  67 -22 -78  46 -95 -82  25     0  88 -51 -32 -52  22  70 -53  35  88 -14  37   -13 -85 -97  12 -47  67  94 -62 -11 -27 -59 -34   98  81  -9 -30  57  26 -74  84 -43 -16  26 -48   -28    4  -7 -51  28  81  95 -46  47 -88 -92 -36   65  66  68  78 -89  80 -64 -73  47  82 -31 -33   -69    0 -11 -90  62    2 -19 -96 -12  51 -60  49   -25  46    9    8 -23  87  18  86  73 -72    5  90   58 -52  74 -24 -52  -1    4 -11 -65 -74 -82 -72   -8  86  -8 -54  31 -95  75 -86  26 -80    3 -36   -29  27  50  60 -36 -18  -6 -97  95  -2 -48  14 строка, содержащая максимальный элемент 98 81 -9 -30 57 26 -74 84 -43 -16 26 -48 *** итоговый массив 12x12 ***   -91 -74 -72 -60 -26  -1  21  31  40  70  71  88   -58 -66  49  -5 -22  67 -22 -78  46 -95 -82  25   -53 -52 -51 -32 -14    0  22  35  37  70  88  88   -13 -85 -97  12 -47  67  94 -62 -11 -27 -59 -34   -74 -48 -43 -30 -16  -9  26  26  57  81  84  98   -28    4  -7 -51  28  81  95 -46  47 -88 -92 -36   -89 -73 -64 -33 -31  47  65  66  68  78  80  82   -69    0 -11 -90  62    2 -19 -96 -12  51 -60  49   -72 -25 -23    5    8    9  18  46  73  86  87  90   58 -52  74 -24 -52  -1    4 -11 -65 -74 -82 -72   -95 -86 -80 -54 -36  -8  -8    3  26  31  75  86   -29  27  50  60 -36 -18  -6 -97  95  -2 -48  14

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

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

Напишите функцию, (через процедуру ) которая находит наибольший общий делитель двух натуральных чисел. пример: введите два натуральных числа: 7006652 112307574 нод(7006652, 112307574) = 1234.
Ваше имя (никнейм)*
Email*
Комментарий*

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

vikashop269
Yuliya
Бунеева
dvpered
TatiyanaBe20135263
AlekseiMardanova
Zladthesecond577
viz-art-pnz1664
sinicin80
yana2211
armynis8
TrofimovAnastasiya828
natasham-716
Евгений
veronica1344