uses crt;
type mas=array[0..100] of integer;
procedure MergeSort(var m:mas;n:integer);
var
c:boolean;
i,i1,i2,n1,n2,j,k,tmp,len:integer;
b:mas;
begin
len:=1;
c:=true;
while len<n do
begin
if c then
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while(i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end
else
begin
if m[i1-1]>m[i2-1] then
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
b[i-1]:=m[i-1];
i:=i+1;
end;
end
else
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while (i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end
else
begin
if b[i1-1]>b[i2-1] then
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
m[i-1]:=b[i-1];
i:=i+1;
end;
end;
len:=2*len;
c:= not c;
end;
if not c then
begin
i:=1;
repeat
m[i-1]:=b[i-1];
i:=i+1;
until not(i<=n);
end;
end;
var a:mas;
n,i:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random(20);
write(a[i],' ');
end;
writeln;
MergeSort(a,n);
writeln('Сортировка:');
for i:=0 to n-1 do
write(a[i],' ');
readln
end.
Тут, я полагаю, требуется четкий алгоритм поиска таких чисел. Если интересно, то в личном сообщении могу привести таковой. Пока ограничусь лишь общими рассуждениями.
24 - число четное и кратное 3. Следовательно, искомое число должно быть четным (оканчиваться нулем или четной цифрой - в связи с ограничением в условии - 2) и кратным 3.
В то же время оно должно быть кратно числу 8, а это значит, что искомое число должно в трех первых разрядах содержать число, делящееся на 8.
В качестве примера приведу число 122112. 112 кратно 8, число шестизначное, четное и кратное 3. Должно делиться на 24.
Сентиментализм в литературе. Философские истоки сентиментализма восходят к сенсуализму, выдвинувшего идею «естественного», «чувствительного» (познающего мир чувствами) человека. К началу 18 в. идеи сенсуализма проникают в литературу и искусство.«Естественный» человек становится главным героем сентиментализма. Писатели-сентименталисты исходили из посылки, что человек, будучи творением природы, от рождения обладает задатками «естественной добродетели» и «чувствительности»; степень чувствительности определяет достоинство человека и значимость всех его действий. Достижение счастья как главной цели человеческого существования возможно при двух условиях: развитие естественных начал человека («воспитание чувств») и пребывание в естественной среде (природе); сливаясь с ней, он обретает внутреннюю гармонию. Цивилизация (город), наоборот, является враждебной ему средой: она искажает его естество. Чем более человек социален, тем более опустошен и одинок. Отсюда характерный для сентиментализма культ частной жизни, сельского существования и даже первобытности и дикарства. Сентименталисты не принимали идею прогресса, фундаментальную для энциклопедистов, с пессимизмом взирая на перспективы общественного развития. Понятия «история», «государство», «общество», «образование» имели для них негативное значение.Сентименталистов, в отличие от классицистов, не интересовало историческое, героическое они вдохновлялись повседневными впечатлениями. Место гиперболизированных страстей, пороков и добродетелей заняли знакомые всем человеческие чувства. Герой сентименталистской литературы – обычный человек. Преимущественно это выходец из третьего сословия, порой низкого положения (служанка) и даже изгой (разбойник), по богатству своего внутреннего мира и чистоте чувств не уступающий, а нередко и превосходящий представителей высшего сословия. Отрицание навязанных цивилизацией сословных и иных различий составляет демократический (эгалитаристский) пафос сентиментализма.Обращение к внутреннему миру человека позволило сентименталистам показать его неисчерпаемость и противоречивость. Они отказались от абсолютизации какой-либо одной черты характера и однозначности моральной трактовки персонажа, свойственных классицизму: сентименталистский герой может совершать как дурные, так и добрые поступки, испытывать как благородные, так и низкие чувства; порой его действия и влечения не поддаются односложной оценке. Поскольку в человеке от природы заложено доброе начало и зло есть плод цивилизации, никто, не может стать законченным злодеем – у него всегда есть шанс вернуться к своему естеству. Сохраняя надежду на самосовершенствование человека, они оставались, при всем их пессимистическом отношении к прогрессу, в русле просветительской мысли. Отсюда дидактизм и порой ярко выраженная тенденциозность их произведений.Культ чувства обусловил высокую степень субъективизма. Для этого направления характерно обращение к жанрам, с наибольшей полнотой позволяющих показать жизнь человеческого сердца, – элегия, роман в письмах, дневник путешествия,мемуары и пр., где рассказ ведется от первого лица. Сентименталисты отвергали принцип «объективного» дискурса, предполагающий отстранение автора от предмета изображения: авторская рефлексия по поводу описываемого становится у них важнейшим элементом повествования. Структура сочинения во многом определяется волей писателя: он не столь строго следует установленным литературным канонам, сковывающим воображение, достаточно произвольно строит композицию, щедр на лирические отступления.Родившись на британских берегах в 1710-х, сентиментализм стал во вт. пол. 18 в. общеевропейским явлением. Наиболее ярко проявился в английской, французской, немецкой и русской литературах.
type mas=array[0..100] of integer;
procedure MergeSort(var m:mas;n:integer);
var
c:boolean;
i,i1,i2,n1,n2,j,k,tmp,len:integer;
b:mas;
begin
len:=1;
c:=true;
while len<n do
begin
if c then
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while(i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end
else
begin
if m[i1-1]>m[i2-1] then
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
b[i-1]:=m[i-1];
i:=i+1;
end;
end
else
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while (i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end
else
begin
if b[i1-1]>b[i2-1] then
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
m[i-1]:=b[i-1];
i:=i+1;
end;
end;
len:=2*len;
c:= not c;
end;
if not c then
begin
i:=1;
repeat
m[i-1]:=b[i-1];
i:=i+1;
until not(i<=n);
end;
end;
var a:mas;
n,i:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random(20);
write(a[i],' ');
end;
writeln;
MergeSort(a,n);
writeln('Сортировка:');
for i:=0 to n-1 do
write(a[i],' ');
readln
end.