1)В каких случаях требуется преобразование из одного графического формата в другой? 2)Поясните фразу: «не любой растр целесообразно преобразовывать в вектор». 3)Какие изображения только «выиграют» от преобразования в векторную форму
Вот программа : program xxx; <p>program xxx;</p><p> var i, k, d, e, s : integer;</p><p>begin</p><p> k:=0;</p><p> for i:= 10 to 99 do</p><p> begin</p><p> d:= i div 10;</p><p> e:= i mod 10;</p><p> s:=d + e;</p><p> if i mod s = 0 then k:=k+1</p><p> end;</p><p> write ('кол-во чисел которые делятся на сумму своих цифр=', k);</p><p> readln</p><p>end.</p>
На вход подается 2 числа: a,b где 2^a + 2^(a+1) + 2^(a+2) + ... 2^(b-2) + 2^(b-1) + 2^b
На выводе число - результат формулы выше при подстановке a и b
1 вариант через цикл, сложность O(n):
VAR a, b, adder, sum, i: INTEGER; BEGIN READ(a, b); adder := 1; FOR i := 1 TO b DO BEGIN adder := 2 * adder; IF (i >= a) THEN sum := sum + adder END; WRITELN(sum); END.
2 вариант через побитовые сдвиги, сложность O(1):
VAR a, b: INTEGER; BEGIN READ(a, b); WRITELN((1 SHL (b+1)) - (1 SHL (a))); END.
<p>program xxx;</p><p> var i, k, d, e, s : integer;</p><p>begin</p><p> k:=0;</p><p> for i:= 10 to 99 do</p><p> begin</p><p> d:= i div 10;</p><p> e:= i mod 10;</p><p> s:=d + e;</p><p> if i mod s = 0 then k:=k+1</p><p> end;</p><p> write ('кол-во чисел которые делятся на сумму своих цифр=', k);</p><p> readln</p><p>end.</p>
На вход подается 2 числа: a,b где
2^a + 2^(a+1) + 2^(a+2) + ... 2^(b-2) + 2^(b-1) + 2^b
На выводе число - результат формулы выше при подстановке a и b
1 вариант через цикл, сложность O(n):
VAR
a, b, adder, sum, i: INTEGER;
BEGIN
READ(a, b);
adder := 1;
FOR i := 1 TO b DO
BEGIN
adder := 2 * adder;
IF (i >= a)
THEN
sum := sum + adder
END;
WRITELN(sum);
END.
2 вариант через побитовые сдвиги, сложность O(1):
VAR a, b: INTEGER;
BEGIN
READ(a, b);
WRITELN((1 SHL (b+1)) - (1 SHL (a)));
END.