<em>// PascalABC.NET 3.2, сборка 1437 от 03.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
a:=a.SortedDescending.ToArray; a.Println;
Writeln('П=',a.Where(k->k mod 7=0).DefaultIfEmpty
.Aggregate(1,(i,j)->i*j))
end.
<u>Пример</u>
n= 15
80 -59 89 66 -88 -50 -16 -30 -65 -75 28 -51 56 35 36
89 80 66 56 36 35 28 -16 -30 -50 -51 -59 -65 -75 -88
П=54880
begin
var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println;
b:=b+Arr(b.Sum); b.Println
end.
<u>Пример</u>
n= 15
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79 -71
begin
var c:=ArrRandom(ReadInteger('n='),-99,99); c.Println;
var a:=ReadInteger('a=');
var b:=c.Where(x->x>a).ToArray;
Write('B[',b.Count,']='); b.Println
end.
<u>Пример</u>
n= 16
58 -91 12 -48 -42 1 -73 5 -47 99 -80 55 -10 31 -62 0
a= 10
B[5]=58 12 99 55 31
<span>Начинать нужно с козы. Крестьянин, перевезя козу, возвращается и берет волка, которого перевозит на другой берег, где его и оставляет, но зато берет и везет обратно на первый берег козу. Здесь он оставляет ее и перевозит к волку капусту. Вслед за тем, возвратившись, он перевозит козу. так вот</span>
1) Для начала подсчитаем общее кол-во символов.
350 * 60 * 18 = 378000 символов
Теперь подсчитаем информационный вес одного символа по формуле N = 2^i.
128 = 2^i
i = 7 бит
Теперь найдем информационный вес всех символов.
378000 * 7 = 2646000 бит = 323 Кбайт (приблизительно)
2) Найдем информационный вес 1 символа первого алфавита.
N = 2^i
512 = 2^i
i = 9 бит
Найдем информационный вес 1 символа второго алфавита.
N = 2^i
64 = 2^i
i = 6 бит
Найдем количество символов первого ( и 2 ) алфавита.
640Кбайт = 5242880 бит
5242880 / 9 = 58320 символов
Теперь найдем информационный объем второго алфавита.
58320 * 6 = 349920 бит = 43 Килобайт ( приблизительно)
3) 1Кбайт = 8192 бит
8192 / 1024 = 2^13 / 2^10 = 2^3 = 8 бит
Если мы говорим о кодировке ASCII, где 1 символ занимает 8 бит в памяти ( или 1 байт ), то тогда : 8*7 = 56 ( 7 -- кол-во символов )
Function GetWord(s:string; var ptr:integer):string;
var
i:integer;
begin
i:=PosEx(' ',s,ptr);
if i>0 then
Result:=Copy(s,ptr,i-ptr)
else
Result:=Copy(s,ptr,length(s)-ptr+1);
ptr:=i+1
end;
var
f,g:Text;
ib:integer;
s,Fam,Im,Ot:string;
begin
Assign(f,'Input.txt');
Reset(f);
Assign(g,'Result.txt');
Rewrite(g);
while not Eof(f) do begin
readln(f,s);
writeln(s); // отладочная выдача
ib:=1;
Fam:=GetWord(s,ib);
Im:=GetWord(s,ib);
Ot:=GetWord(s,ib);
writeln(g,Im,' ',Ot,' ',Fam); // закомментарить строку для б)
writeln(Im,' ',Ot,' ',Fam); // отладочная выдача
writeln(g,Fam,' ',Im[1],'.',Ot[1],'.'); // закомментарить строку для а)
writeln(Fam,' ',Im[1],'.',Ot[1],'.'); // отладочная выдача
end;
Close(f);
Close(g)
end.
Тестовый прогон:
Иванов Петр Сергеевич
Петр Сергеевич Иванов
Иванов П.С.
Тарасова Анна Георгиевна
Анна Георгиевна Тарасова
Тарасова А.Г.
Коваленко Евгений Станиславович
Евгений Станиславович Коваленко
Коваленко Е.С.
Петрова Татьяна Вячеславовна
Татьяна Вячеславовна Петрова
Петрова Т.В.
Бородкин Тимофей Савельевич
Тимофей Савельевич Бородкин
Бородкин Т.С.
Пышка Варвара Семеновна
Варвара Семеновна Пышка
Пышка В.С.
Голобородько Ирина Олеговна
Ирина Олеговна Голобородько
Голобородько И.О.