В простонародье - разложить число на множители. Для этого тебе нужно перебирать все простые числа, и смотреть, делится ли это число на них. Причём, на каждое из них нужно делить несколько раз до победного конца. Простые числа есть смысл брать только до N/2-1, где N - само число. Таблицу простых числел можно составить заранее (я не думаю, что задача предусматривать работу с двадцатизначными числами, поэтому хватит числе в пределах 2 миллиардов) . Вот только поиск простых чисел подразумевает решение этой же самой задачи.
farmprofi
13.11.2022
Var A:array[1..60] of integer; k,i,MIN,ind, MAX,SUM:integer; begin SUM:=0; readln(k); randomize; writeln('Исходный массив:'); for i:=1 to 60 do begin A[i]:=random(15)-5; Writeln('A[',i,']=',A[i]); end; MIN:=32600; MAX:=-32600; for i:=1 to 60 do //Ищем минимальный элемент begin if a[i]<MIN then MIN:=a[i]; ind:=i; end; for i:=1 to 60 do //Ищем максимальный элемент if a[i]>MAX then MAX:=a[i]; for i:=60 downto 60-k do //Сумма последних k элементов SUM:=SUM+a[i]; A[ind]:=SUM; if A[1]>=0 then for i:=1 to 60 do begin A[i]:=A[i]*sqr(MIN); Writeln('A[',i,']=',A[i]); end else for i:=1 to 60 do begin A[i]:=A[i]*sqr(MAX); Writeln('A[',i,']=',A[i]); end; end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вкакой записи чисел ошибка 672(7) 4561(8) 0123(4) 16e9(16)