Абай на уроке изучил простые числа. теперь он хочет на уроке информатики получить дополнительные оценки написав код который разложить на простые множители любое введеное число. давай абаю.
Строго объяснять не вижу смысла, поскольку придется тратить время на разъяснение массы попутных вещей, начиная от λ-исчисления и алонзо чёрча. если бы вам было понятно одно из определений, вроде " лямбда-выражение — это анонимная функция, с которой можно создавать типы делегатов или деревьев выражений", вы бы не стали писать сюда вопрос. поэтому постараюсь рассказать "на пальцах" и примерах. "лямбды" - это функции (а также, выражения и процедуры), позволяющие эффектно в одном месте и объявить их, и использовать, причем, зачастую, даже не давая этим функциям имени (анонимные функции). вот такие они "одноразовые". записывается лямбда обычно в форме t -> f(t) и читается "t переходит в f(t)". фактически, тут много общего с обычной функцией, имеющей формальный параметр t и определяющей в своем теле значение при f(t). конечно, параметр может быть и не один. изюминка "лямбд" в том, что они могут использоваться на правах простых переменных. например, можно присвоить переменной "лямбду" и передать её, как параметр в программную единицу вместо функции, например var f: real-> real: =t-> 3*sin(t)+cos(t); tab(f,0,10,0.1); лямбды активно присутствуют в операциях, пришедших в pascalabc.net из linq .net, в частности, в проецировании и фильтрации. var n: =arrgen(20,i-> 2*i+5).where(t-> cos(t/6)< 0).count; последние версии pascalabc.net 3.3 имеют развитые средства для программирования в функциональном стиле, построенные на "лямбдах". примеры множественного использования лямбд можно найти в файлах, входящих в стандартную поставку, в также в справочном руководстве по библиотеке численных методов, ставшей стандартной с версии 3.3.0.1552 от 20.10.2017 (файл \program files\pascalabc.net\doc\numlibabc.pdf)
kokukhin
03.06.2021
Решать такие можно несколькими способами: 1 способ : перевод исходного числа в десятичную систему счисления, а затем делением уголком в шестнадцатиричную. достоинств у этого способа не вижу, а недостатков масса. 2 способ : представить все цифры исходного числа в двоичном виде и затем собрать четверки цифр получившегося числа в шестнадцатиричном виде: 754(8)=111 101 100 (2), группируем четверками справа: 1 1110 1100, переводим получившиеся числа в группах в десятичную систему счисления. если получается цифра больше 9, то делаем замену: 10-а, 11- b, 12-c,13-d,14-e,15-f. получаем: 1(2)=1(16), 1110(2)=e(16), 1100(2)=c(16), итого: 1ec ответ: 1eс