function DifNum(a: integer): integer; var se: set of integer; i: integer; begin while a > 0 do begin if a mod 10 in se then begin DifNum := 0; exit; end else include(se, a mod 10); a := a div 10; end; DifNum := 1; end;
begin read(l, r); for i := l to r do counter += DifNum(i); writeln(counter); end.
//Альтернативное решение на Паскале
Var l,r:integer; begin read(l,r); writeln(range(l,r).where(x -> x.tostring.toarray.distinct.count=length(x.tostring)).Count); end.
4)Количество информации(бит) получим разделив объем файла(бит) на количество пикселей. i=(1,5*1024*1024*8)/(1024*512)= 24 бит
5)Определим глубину цвета i=V/N, где V-объем изображения (бит), N - количество пикселей i=(16*1024*8)/(256*128)= 4 бит Найдем количество цветов N=2^i N=2^4= 16 цветов
6)Количество памяти на 1 страницу: 640*480*24= 7372800 бит= 900 Кбайт Количество страниц= (2*1024)/900= 2,28 ответ: 2 страницы
var
l, r, counter, i: integer;
function DifNum(a: integer): integer;
var se: set of integer;
i: integer;
begin
while a > 0 do
begin
if a mod 10 in se then
begin
DifNum := 0;
exit;
end
else include(se, a mod 10);
a := a div 10;
end;
DifNum := 1;
end;
begin
read(l, r);
for i := l to r do
counter += DifNum(i);
writeln(counter);
end.
//Альтернативное решение на Паскале
Var
l,r:integer;
begin
read(l,r);
writeln(range(l,r).where(x -> x.tostring.toarray.distinct.count=length(x.tostring)).Count);
end.
//Dev-C++ 5.11 (C)
#include <stdio.h>
#include <malloc.h>
int DifNum(int);
int main(void)
{int l,r,counter=0;
scanf("%d %d",&l,&r);
for(int i=l;i<=r;i++)
counter+=DifNum(i);
printf("%d",counter);
return 0;}
int DifNum(int a)
{int k=1,*nums;
nums=(int*)malloc(k*sizeof(int));
nums[0]=-1;
while(a>0)
{for(int i=0;i<k;i++)
if(a%10==nums[i])
return 0;
k++;
nums=(int*)malloc(k*sizeof(int));
nums[k-1]=a%10;
a/=10;}
free(nums);
return 1;}
Пример ввода:
1 12
Пример вывода:
11
Количество цветов N= 256, отсюда вычислим глубину цвета N=2^i
256=2^i i=8
Объем изображения= N*A= 262144*8= 2097152 бит= 256 Кбайт
2)Аналогично предыдущей задаче:
N=2^i
16177216=2^i
i =24
N*A= (1024*768)*24= 18874328 бит= 2,25 Мбайт
3)N=2^i
65536=2^i
i=16
N*A=(1280*1024)*16= 20971520 бит= 2,5 Мбайт
4)Количество информации(бит) получим разделив объем файла(бит) на количество пикселей.
i=(1,5*1024*1024*8)/(1024*512)= 24 бит
5)Определим глубину цвета
i=V/N, где V-объем изображения (бит), N - количество пикселей
i=(16*1024*8)/(256*128)= 4 бит
Найдем количество цветов N=2^i N=2^4= 16 цветов
6)Количество памяти на 1 страницу: 640*480*24= 7372800 бит= 900 Кбайт
Количество страниц= (2*1024)/900= 2,28
ответ: 2 страницы