Навскидку можно сделать так: вместо самих чисел хранить их разложения на простые множители. например, вместо n=84= будет массив na=(2, 1, 0, 1, 0, еще такой же массив отводишь под сами простые числа. после получения разложения n начинается цикл: берем очередное число i и из na вычитаем его разложение (пробегаемся по простым числам, если i делится, то делим и вычитаем 1 в соотв. элементе массива, пробуем снова). цикл заканчивается, когда все элементы na отрицательны или равны 0, это значит, что факториал последнего i содержит все простые числа в степени не меньшей чем n, т.е. i! делится на n. проблема в том, что непонятно, каких размеров должен быть массив. есть ли ограничения на n? например, если n всегда не больше 10000, то количество простых чисел и сами числа можно константами загнать и т.д. распиши условия, тогда попробую примерно код написать.
ekaterinasamoylova4705
29.07.2020
Var x,y,res : real; begin {задаем значения х и у} write('введите x и y через пробел: '); readln(x,y); {вычисляем значение выражения и присваиваем результат переменной res} res : = 3*x*x*y*y - 2*x*y*y - 7*x*x*y - 4*y*y + 15*x*y + 2*x*x - 3*x + 10*y + 6; {выводим результат на экран} writeln('ответ: ',res: 6: 4); readln; end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Спасите! определите значеиие переменной k после выполнения следующего фрагмента программы