var A,B,X,i:integer;
begin
readln(A,B,X);
i:=A;
while(i<=B) do
if(i mod 10=X) then writeln(i)
end.
а) 2 и 10 ................................................................
1)
128=2^7
значит на один символ отводится 7 бит
240 / 7 = 34,2857142857
Скорее всего в цифрах задачи допущена неточность, потому что дробных символов. также как и дробных бит, не бывает
Но если исходить из имеющихся данных, то в сообщении 34 символа.
Если же была ошибка в цифрах, то скорее всего на 1 символ (по замыслу составителей задачи) отводится 8 бит и тогда 240/8=30 символов в сообщении.
2)
Внутреннее представление чисел в компьютере - это двоичные числа
499(10) = 111110011(2)
2 байта это 8*2=16 бит, т.е 16 знаков в числе
Добавим спереди (слева) нули до 16 знаков, получаем внутренне представление числа в 2-х байтовой ячейке:
0000000111110011
Переведем его в 16-ричное представление. Для этого разобьем полученное число на группы по 4 знака (справа налево) и подставим вместо получившихся 4-значных блоков их 16-ричное значение:
0000 0001 1111 0011
0 1 F 3
Ответ: 01F3
// PascalABC.NET 3.0, сборка 1076
const
n=20; { количество дат }
type
TDate=record
d:1..31;
m:1..12;
y:word
end;
var
dates:array[1..n] of TDate;
i:byte;
s,st:string;
begin
Randomize;
for i:=1 to n do begin
s:='';
With dates[i] do begin
d:=Random(27)+1;
Str(d,st);
if Length(st)=1 then st:='0'+st;
s:=s+st+'.';
m:=Random(12)+1;
Str(m,st);
if Length(st)=1 then st:='0'+st;
s:=s+st+'.';
y:=Random(51)+1960;
Str(y,st);
s:=s+st;
if m in [3..5] then s:=s+' - весенняя';
Writeln(s)
end
end
end.
<u><em>Тестовое решение:</em></u>
22.12.1979
21.10.1975
25.03.1980 - весенняя
23.04.1967 - весенняя
09.10.1967
16.05.1965 - весенняя
09.08.1996
05.10.2001
10.11.1985
18.08.1970
08.10.1983
01.12.2005
01.01.1994
09.11.1962
14.09.1979
24.03.2008 - весенняя
14.01.2003
22.04.1990 - весенняя
18.08.1969
16.05.2009 - весенняя