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

Умоляю Нужно на сегодня ) а я его не понимаю


Умоляю Нужно на сегодня ) а я его не понимаю

Показать ответ
Ответ:
Elenakurdoglo
Elenakurdoglo
01.02.2021 06:33
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 оценок)
Ответ:
Nataliya49017
Nataliya49017
22.11.2022 01:09
Программа точно по условию:

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-бота