Звідний загін ветеранів готується пройтися колоною на відповідному святі. Вишикувалися по двоє.
Один залишився без пари. Недобре. Встали по троє. Знову один - сиротінушка.
По чотири і по шість - ясно, що нерівно, але ж знову один залишається! Тоді по п'ять. Той же результат!
Мана. Вже для самозаспокоєння вишикувалися по семеро. І вийшло абсолютно рівно.
Скільки ж людей могло шикуватися, якщо їх було не більше 200? (може бути кілька варіантів)
Знайти всі досконалі числа на заданому діапазоні. Діапазон вводиться з клавіатури.
Число вважається досконалим, якщо воно дорівнює сумі всіх своїх власних дільників, відмінних від самого числа.
Наприклад:
Перше досконале число - 6 = 1+2+3
Друге досконале число - 28 = 1+2+4+7+14
і так далі
program ITarena;
uses crt;
var i,n,m:integer; f:boolean;
procedure pe(k:integer; var f:boolean);
var s,j:integer;
begin
f:=false;
s:=0;
for j:=1 to k-1 do
if k mod j = 0 then s:=s+j;;
if k=s then f:=true;
end;
begin clrscr;
writeln('Diapazon');
write('Z '); readln(n);
write('Po '); readln(m);
for i:=n to m do begin
pe(i,f);
if f=true then writeln(i);
end;
readln;
end.
Заповнити цілочисельний масив з 30 елементів за допомогою генератора випадкових чисел.
Знайти 3 послідовних елементи, сума яких максимальна.
Вивести ці елеменни і їх суму на екран.
program ITarena;
uses crt;
var m,k:array[1..100] of integer; i,a,b,c,max:integer;
begin clrscr;
writeln('Massiv');
randomize;
for i:=1 to 30 do begin
m[i]:=random(51);
write(m[i]:4);
end;
writeln;
for i:=1 to 28 do begin
k[i]:=m[i]+m[i+1]+m[i+2];
k[1]:=max;
if max<k[i] then begin
max:=k[i];
a:=m[i];
b:=m[i+1];
c:=m[i+2];
end;
end;
writeln;
writeln('Maksymalna symma 3 chisel ',max);
writeln('Zi chisla ',a,' ',b,' ',c);
readln;
end.
Сформувати матрицю розміром NxM за допомогою генератора випадкових чисел.
Діапазон значень має бути від 0 до 100.
Елементи, які більше середнього значення поміняти на максимальний, а які менше - на мінімальний.
Вивести вихідну матрицю, середнє значення і результуючу матрицю на екран.
program ITarena;
uses crt;
var k:array[1..100,1..100] of integer; i,j,m,n,min,max:integer; s:real;
begin clrscr;
write('Vvedit rozmir matrizy po gorizontali '); readln(n);
write('Vvedit rozmir matrizy po vertikali '); readln(m);
writeln;
writeln('Pochatkova matriza');
randomize;
for i:=1 to n do begin
for j:=1 to m do begin
k[i,j]:=random(101);
write(k[i,j]:4);
end;
writeln;
end;
min:=k[2,2];
max:=k[1,1];
for i:=1 to n do begin
for j:=1 to m do begin
if k[i,j]<min then min:=k[i,j];
if k[i,j]>max then max:=k[i,j];
end;
end;
s:=(min+max)/2;
writeln;
writeln('max=',max);
writeln('min=',min);
writeln('(max+min)/2=',s);
writeln;
writeln('Kinzeva matriza');
writeln('');
for i:=1 to n do begin
for j:=1 to m do begin
if k[i,j]>s then k[i,j]:=max else k[i,j]:=min;
write(k[i,j]:4);
end;
writeln;
end;
readln;
end.