В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Решите информатику
тема алгоритм

Показать ответ
Ответ:
valerijamarkov
valerijamarkov
18.05.2020 23:01
Uses Crt;
Const
   N = 20;
Var
   MX:array[1..N] of integer;
   i,k:integer;
Begin
ClrScr;
Randomize;
k:=0;
Write('Исходный массив:');
For i:=1 to N do
    Begin
    MX[i]:=random(10);
    Write(' ',MX[i]);
    if MX[i] mod 2 <> 0 then k:=k+1;
    End;
WriteLn;
WriteLn('Количество нечётных элементов: ',k);
Write('Преобразованный массив:');
For i:= 1 to N do
    Begin
    MX[i]:=MX[i]-k;
    Write(' ',MX[i])
    End;
ReadLn
End.

uses Crt;
Const
   N = 13;
Var
   A:array[1..N] of integer;
   i,Max,Min:integer;
Begin
ClrScr;
Randomize;
Min:=1;
Max:=1;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(44)+17;
    Write(' ',A[i]);
    if A[Min]>A[i] then Min:=i;
    if A[Max]<A[i] then Max:=i;
    End;
WriteLn;
WriteLn('Max = ',A[Max]);
WriteLn('Min = ',A[Min]);
WriteLn('Max - Min = ',A[Max]-A[Min]);
ReadLn
End.

Const
   N = 13;
Var
   MM:array[1..N] of byte;
   B:byte;
   i,Max:integer;
Begin
Randomize;
Max:=1;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    MM[i]:=random(90)+10;
    Write(' ',MM[i]);
    if MM[i]>MM[Max] then Max:=i;
    End;
WriteLn;
WriteLn('Max(MM) = MM[',Max,'] = ',MM[Max]);
Write('Новый массив:');
B:=MM[1];
MM[1]:=MM[Max];
MM[Max]:=B;
For i:= 1 to N do
    Write(' ',MM[i])
End.
0,0(0 оценок)
Ответ:
ОЛДВЖ
ОЛДВЖ
02.02.2022 04:16
Программа точно по условию:

Var A,d,S:integer;
Begin
Write('Искомые числа:');
For A:= 300 to 600 do
    Begin
    S:=A+1;
    d:=A div 2;
    While d>1 do
       Begin
       if A mod d = 0 then S:=S+d;
       d:=d-1
       End;
    if S = 50 then Write(' ',A);
    End
End.

Программа, разумеется, не выдаст ни одного числа, т.к. каждое число делится на себя и на единицу. То есть сумма делителей всегда будет больше 301.

Если не брать в расчёт само число и единицу, то программа будет выглядеть так:

Var A,d,S:integer;
Begin
Write('Искомые числа:');
For A:= 300 to 600 do
    Begin
    S:=0;
    d:=A div 2;
    While d>1 do
       Begin
       if A mod d = 0 then S:=S+d;
       d:=d-1
       End;
    if S = 50 then Write(' ',A);
    End
End.

Результат работы программы:

Искомые числа: 301 481 589
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота