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

Ввести два числа. Если сумма этих чисел четная, найти произведение, в противном случае, найти частное этих чисел и напоследок вывести на экран слово "ДО СВИДАНИЯ!"

нужно составить программу для паскаля

Показать ответ
Ответ:
martynovich04
martynovich04
07.02.2021 20:08
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 оценок)
Ответ:
вероника20048
вероника20048
07.01.2023 13:54
Программа точно по условию:

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