216₈ = 142₁₀ = 8Е₁₆
D3₁₆ = 211₁₀ = 323₈
Объяснение:
Переведите число 216₈ по схеме А8 → А10 → А16
216₈ = 2 * 8² + 1 * 8¹ + 6 * 8⁰ = 2 * 64 + 1 * 8 + 6 * 1 = 128 + 8 + 6 = 142₁₀
216₈ = 142₁₀
142 / 16 = 8 + остаток 14 (Е)
8 / 16 = 0 + остаток 8
записываем остатки снизу вверх
В качестве цифр 16-ой системы счисления используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
142₁₀ = 8Е₁₆
Переведите число D3₁₆ по схеме А16 → А10 → А8
D3₁₆ = D * 16¹ + 3 * 16⁰ = 13 * 16 + 3 * 1 = 211₁₀
В качестве цифр 16-ой системы счисления используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
D3₁₆ = 211₁₀
211 / 8 = 26 + остаток 3
26 / 8 = 3 + остаток 2
3 / 8 = 0 + остаток 3
записываем остатки снизу вверх
211₁₀ = 323₈
В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
Код процедуры:
procedure print_fib(n: integer);
var a, b, t: integer;
begin
a := 0;
b := 1;
while n > 0 do
begin
write(b, ' ');
b := a + b;
a := b - a;
n := n - 1;
end;
end;
Пример основной программы:
begin
print_fib(10)
end.
Вывод:
1 1 2 3 5 8 13 21 34 55
Var
n,first,oth:integer;
begin
readln(n);
first:=n mod 10;
oth:=n div 10;
if first<>0 then writeln(first,oth) else writeln('X не трёхзначеное');
end.
Пример ввода:
234
Пример вывода:
423