Написать блок-схему для этого кода
random rnd = new random();
long sum = 0, pro = 1;
console.writeline("введите количество элементов");
int n = convert.toint32(console.;
long[] mas = new long[n];
//console.writeline("введите элементы");
for (int i = 0; i < n; i++)
{
mas[i] =rnd.next(1,1000);
}
console.writeline("итоговый массив");
for (int i = 0; i < n; i++)
{
console.writeline(mas[i] + " ");
sum = mas[i] + sum;
pro *= mas[i];
}
console.writeline("сумма элементов=" + sum);
console.writeline("произведение элементов=" + pro);
console.readkey();
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
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.