Var s: string; i, z, n, a: integer; begin readln(a); s := floattostr(a); for i := 1 to length(s) do begin if (s[i] = '0') then inc(z); if (s[i] = '9') then inc(n); end; writeln(z, ' ', n); if (z > n) then writeln('"0" > "9"'); if (z < n) then writeln('"0" < "9"'); if ((z = 0) and (n = 0)) then writeln('"0" = "9" = 0!') else if (z = n) then writeln('"0" = "9" = ', z); end.
Только я тут испугался аж: всё правильно, а не так пишет х) Если ввести число, начинающееся с нуля, то первые нули отбросятся:)
3) 137 = 10001001 (нужно число делить на 2, записывая остаток, и так до тех пор пока число уже нельзя будет делить, потом записываем остатки в обратном порядке)
137 / 2 = 68 ( остаток 1)
68 / 2 = 34 (остаток 0)
34 / 2 = 17 (остаток 0)
17 / 2 = 8 (остаток 1)
8 / 2 = 4 (0)
4 / 2 = 2 (0)
2 / 2 = 1 (0)
Теперь записываем остатки в обратном порядке = 10001001
4) Как я понял 8 и 16 это систему счисления, если да то:
а)151 = 1 * 8^2 + 5 * 8^1 + 1 * 8^0 = 64 + 40 + 1 = 105
б) 2С = 2 * 16 + 12(С) = 32 + 12 = 44
i, z, n, a: integer;
begin
readln(a);
s := floattostr(a);
for i := 1 to length(s) do
begin
if (s[i] = '0') then inc(z);
if (s[i] = '9') then inc(n);
end;
writeln(z, ' ', n);
if (z > n) then writeln('"0" > "9"');
if (z < n) then writeln('"0" < "9"');
if ((z = 0) and (n = 0)) then writeln('"0" = "9" = 0!')
else if (z = n) then writeln('"0" = "9" = ', z);
end.
Только я тут испугался аж: всё правильно, а не так пишет х) Если ввести число, начинающееся с нуля, то первые нули отбросятся:)