Точно должно работать для PascalABC.Net (версия 3.2, сборка 1341). program Task; var N,i,kol,sum:integer; //По-хорошему, не integer. Потому что мы работаем с натуральными числами, а не отрицательными begin read(N); for i:=1 to N do begin if (i mod 15)=0 then kol:=kol+1; //15 - это НОК(3,5) end; while (N<>0) do begin sum:=sum+N mod 10; N:=N div 10; end; writeln('Количество чисел, делящихся и на 3, и на 5, равно ',kol); writeln('Сумма цифр числа N равна', sum); end.
1. Const N = 30; Var A:array[1..N] of integer; i,Max,kMax:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N); Write(' ',A[i]); End; WriteLn; {Нахождение максимума} Max:=A[1]; For i:= 2 to N do if A[i]>Max then Max:=A[i]; WriteLn('Max = ',Max); {Подсчёт максимумов} kMax:=0; For i:= 1 to N do if A[i] = Max then kMax:=kMax+1; WriteLn('kMax = ',kMax); End.
2. Const N = 30; Var A:Array[1..N] of integer; i,SMax,iSMax:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N); Write(' ',A[i]) End; WriteLn; iSMax:=1; SMax:=A[1]+A[2]+A[3]; For i:= 3 to N-2 do if A[i]+A[i+1]+A[i+2]>SMax then Begin iSMax:=i; SMax:=A[i]+A[i+1]+A[i+2]; End; WriteLn('Номера элементов, сумма которых максимальна: ',iSMax,', ',iSMax+1,', ',iSMax+2); WriteLn('Максимальная сумма = A[',iSMax,'] + A[',iSMax+1,'] + A[',iSMax+2,'] = ',SMax) End.
program Task;
var N,i,kol,sum:integer; //По-хорошему, не integer. Потому что мы работаем с натуральными числами, а не отрицательными
begin
read(N);
for i:=1 to N do
begin
if (i mod 15)=0 then kol:=kol+1; //15 - это НОК(3,5)
end;
while (N<>0) do
begin
sum:=sum+N mod 10;
N:=N div 10;
end;
writeln('Количество чисел, делящихся и на 3, и на 5, равно ',kol);
writeln('Сумма цифр числа N равна', sum);
end.
Пиши, если что-то не работает или не понятно :)
Const
N = 30;
Var
A:array[1..N] of integer;
i,Max,kMax:integer;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i]);
End;
WriteLn;
{Нахождение максимума}
Max:=A[1];
For i:= 2 to N do
if A[i]>Max then Max:=A[i];
WriteLn('Max = ',Max);
{Подсчёт максимумов}
kMax:=0;
For i:= 1 to N do
if A[i] = Max then kMax:=kMax+1;
WriteLn('kMax = ',kMax);
End.
Пример:
Исходный массив: 11 13 9 8 19 9 22 29 0 23 6 26 14 21 24 24 26 26 23 13 12 20 1 21 0 27 25 28 13 0
Max = 29
kMax = 1
2.
Const
N = 30;
Var
A:Array[1..N] of integer;
i,SMax,iSMax:integer;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i])
End;
WriteLn;
iSMax:=1;
SMax:=A[1]+A[2]+A[3];
For i:= 3 to N-2 do
if A[i]+A[i+1]+A[i+2]>SMax then
Begin
iSMax:=i;
SMax:=A[i]+A[i+1]+A[i+2];
End;
WriteLn('Номера элементов, сумма которых максимальна: ',iSMax,', ',iSMax+1,', ',iSMax+2);
WriteLn('Максимальная сумма = A[',iSMax,'] + A[',iSMax+1,'] + A[',iSMax+2,'] = ',SMax)
End.
Пример:
Исходный массив: 15 13 25 8 4 4 8 20 26 25 25 7 27 16 28 18 26 24 17 20 7 15 10 12 18 13 22 19 4 25
Номера элементов, сумма которых максимальна: 9, 10, 11
Максимальная сумма = A[9] + A[10] + A[11] = 76