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