Слово «алгоритм» происходит от имени великого Персидского учёного Мухаммеда аль-Хорезми́, жившего в первой половине IX ве́ка (точные годы его жизни неизвестны, но считается, что он родился около 780 года, а умер около 850). «Аль-Хорезми» означает «из Хорезма» (исторической области в нынешнем Узбекистане, центром которой был город Хива).
Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал его книги не сохранился, так что её оригинальное название нам неизвестно. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как цифра и шифр). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название «Algoritmi de numero Indorum» («Индийское искусство счёта, сочинение Аль-Хорезми»).
Таким образом, мы видим, что латинизированное имя аль-Хорезми было вынесено в заглавие книги, и сегодня ни у кого нет сомнений, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.
Одни выводили algorism из греческих algiros (больной) и arithmos (число). Из такого объяснения не очень ясно, почему числа именно «больные». Или же лингвистам больными казались люди, имеющие несчастье заниматься вычислениями? Своё объяснение предлагала и знаменитая энциклопедия Брокгауза и Ефрона (1890 год). В ней алгорифм (кстати, до революции использовалось написание алгориѳм, через «фиту») производится «от арабского слова Аль-Горетм, т. е. корень». Разумеется, эти объяснения вряд ли можно счесть убедительными.
6) a = 9 b = 17
7) a = 71 b = 189
5) a = 14 b = 42
Объяснение:
6)
а = 3 + 8 * 4 = 3 + 32 = 35
b = (a // 10) + 14 = 3 + 14 = 17
a = (b % 10) + 2 = 7 + 2 = 9
a = 9 b = 17
7)
a = 1819
b = (a // 100) * 10 + 9 = 18 * 10 + 9 = 180 + 9 = 189
a = (10 * b - a) % 100 = (10 * 189 - 1819) % 100 = (1890 - 1819) % 100 = 71 % 100 = 71
a = 71 b = 189
5)
a = 42
b = 14
a = a // b = 42 // 14 = 3
b = a * b = 3 * 14 = 42
a = b // a = 42 // 3 = 14
a = 14 b = 42
// - целочисленное деление двух чисел, возвращает целочисленный результат деления, отбрасывая дробную часть.
35 / 10 = 3,5
35 // 10 = 3
% - получение остатка от деления, возвращает разность от делимого и произведения целочисленного результата деления на делитель
17 / 10 = 1,7
17 // 10 = 1 (целочисленный результата деления)
остаток = 17 - 1 * 10 = 17 - 10 = 7
17 % 10 = 7