Растровая графика - это в основном фотографии, где единицей измерения - являются точки (пикселы). Работа чаще всего в растровой графикой (из популярных програм) производится в Adobe Photoshop, Illustrator... Если рассматривать фотографию как таковую, то можно увидеть, что она состоит из множества растров (точек, пикселей). Векторная графика - это в основном рисунки, где кривые или прямые линии представляют собой совокупность векторов, направление и величина которых и задают кривую (прямую) линию. Работа с векторной графикой (из популярных программ) производится чаще всего в CorelDraw.
Интересная задачка. попробую объяснить как решал. сначала расставим то, что известно однозначно. это то, что Николай встречается со Ольгой потом Толя - поросенок. потом Миша - Томин на этом все. теперь размышляем. Сидоров не Толя и не Саша. а так же не Николай(потому что пришел с Леной) остаются Вася и Миша. однако фамилию Миши мы знаем. следовательно Сидоров - Вася. Сразу же записываем к Васе Лену. теперь с маской. Он не кот(Иванов), не собака(Петров), не поросенок(Толя), не бычок(Света) следовательно он мишка. Толя пришел не с Таней и не со Светой. так же не с Леной(Вася) и не с Ольгой. остается только Катя. Толя не Сидоров(Вася), не Томин (миша), не Иванов(Катя), не Петров(собака) остается Васильев Николай не Сидоов(Вася), не Томин(миша), не Васильев(Толя) и не Петров(пунтк 1) следовательно он Иванов. сразу пишем к нему кота остается одна фамилия - Петров и это Саша так же сразу пишем собаку к нему. из масок остался только бык - Миша с быков встречается Света ну и последняя девушка Таня остается Саше вот и все) но можно последовать совету, который написали раньше и составить бооольшую таблицу. тот вариант действительно нагляднее
function Cnk(n, k: integer): BigInteger;
begin
if (n = 0) or (n = k) then Result := 1
else
begin
var (p1, p2) := (BigInteger(1), BigInteger(1));
for var i := 2 to n - k do
p2 *= i;
for var i := k + 1 to n do
p1 *= i;
Result := p1 div p2
end
end;
begin
var n := ReadInteger('n=');
if n = 0 then Print(1)
else
begin
var St := new Stack<BigInteger>;
for var i := 0 to n div 2 do
begin
var b := Cnk(n, i);
b.Print;
St.Push(b)
end;
if n.IsEven then St.Pop;
while St.Count > 0 do
begin
St.Peek.Print;
St.Pop
end
end
end.
Примерn= 50
1 50 1225 19600 230300 2118760 15890700 99884400 536878650 2505433700 10272278170 37353738800 121399651100 354860518600 937845656300 2250829575120 4923689695575 9847379391150 18053528883775 30405943383200 47129212243960 67327446062800 88749815264600 108043253365600 121548660036300 126410606437752 121548660036300 108043253365600 88749815264600 67327446062800 47129212243960 30405943383200 18053528883775 9847379391150 4923689695575 2250829575120 937845656300 354860518600 121399651100 37353738800 10272278170 2505433700 536878650 99884400 15890700 2118760 230300 19600 1225 50 1