5. для хранения растрового изображения размером 128x128 пикселей отвели 4 килобайта памяти. каково максимально возможное число цветов в палитре изображения?
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var s:=a.IndexesOf(x->x mod 10=0); if s.Count=0 then Writeln('Нет элементов, оканчивающихся на 0') else begin Write('Номера элементов, оканчивающихся на 0: '); s.Select(i->i+1).Println end end.
Примеры n= 12 -41 46 29 -13 -43 -21 48 43 41 -48 -19 -44 Нет элементов, оканчивающихся на 0
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
type fraction=class
private
class function GCD(a,b:BigInteger):BigInteger; begin while b<>0 do (a,b):=(b,a mod b); Result:=a end;
public
numerator:BigInteger; denominator:BigInteger;
constructor Create(num:BigInteger:=0; denom:BigInteger:=1); begin var n:=GCD(num,denom); numerator:=num div n; denominator:=denom div n end;
class function operator +(a,b:fraction):fraction; begin var n:=GCD(a.denominator,b.denominator); Result:=new fraction(a.numerator*(b.denominator div n)+ b.numerator*(a.denominator div n),a.denominator div n*b.denominator); end; end;
function Print(Self:fraction; s:string:=' '):fraction; extensionmethod; begin Result:=Self; if Self.denominator=1 then Write(Self.numerator,s) else Write(Self.numerator,'/',Self.denominator,s) end;
function Read:fraction; begin var s:=ReadlnString('Введите через пробел числитель и знаменатель:'); var w:=s.ToWords; Result:=new fraction(BigInteger.Parse(w[0]),BigInteger.Parse(w[1])) end;
begin var a:=Read; var b:=Read; (a+b).Print end.
Примеры Введите через пробел числитель и знаменатель: 1 2 Введите через пробел числитель и знаменатель: 5 130 7/13
Введите через пробел числитель и знаменатель: 132 65 Введите через пробел числитель и знаменатель: 1325 345 26333/4485
Введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825 Введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652 2617268599782944014855731813763449145529/26199793481726210718128032276692900
опеределим кол-во точек (пикселей) в изображ. 128*128=16384
перееведем в биты 4 Кб=4*1024=4 096 байт = 4096*8 бит =32768 бит
найдем глубину цвета I =V/(X*Y)=32768:16384=2
N=2I , где N – число цветов в палитре. N=4