RuslAN3017
02.10.2021 03:42

Решите на языке c++ с клавиатуры вводятся числа до первого нуля. причём, если число чётное, то оно прибавляется, а если не чётное - вычитается из общей суммы. чему равна сумма?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Аня8785
05.04.2023 19:12
В простонародье - разложить число на множители. Для этого тебе нужно перебирать все простые числа, и смотреть, делится ли это число на них. Причём, на каждое из них нужно делить несколько раз до победного конца. Простые числа есть смысл брать только до N/2-1, где N - само число. Таблицу простых числел можно составить заранее (я не думаю, что задача предусматривать работу с двадцатизначными числами, поэтому хватит числе в пределах 2 миллиардов) . Вот только поиск простых чисел подразумевает решение этой же самой задачи.
0,0(0 оценок)
Ответ:
НяФФкА555
21.11.2020 14:30
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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота