Язык программирования Си! отдам Задание 8. Функция преобразования десятичного числа в систему с основанием r .Составить функцию num_to_str(num, r), возвращающую в качестве своего значения строку с представлением натурального числа num в системе счисления с основанием r. Предполагается, что число num в памяти компьютера представлено 4-байтовым целым, а основание r принадлежит диапазону [2,16]. Для обозначения цифр, превосходящих 9, рекомендуется воспользоваться латинскими буквами A, B, ..., F.
Задание 9. Суммирование десятичных цифр. Составить функцию sum_dig(n), аргументом которой является длинное целое число. Возвращаемое значение должно быть равно сумме десятичных цифр числа n.
Задание 10. Числовые палиндромы. Натуральное число N = a1a2...ak называют палиндромом, если его величина совпадает со значением, прочитанным справа налево N1 = ak...a2a1. При этом предполагается, что a1 ≠ 0. Например, 1881 – палиндром, а 1812 – нет. Составить функцию palindrom(n), аргументом которой является длинное положительное целое число. Функция должна возвращать значение 1, если ее аргумент является числовым палиндромом.
Задание 11. Разложение числа на простые множители. Составить программу, которая выдает разложение заданного целого числа N на простые множители. Например:
128 = 2*2*2*2*2*2*2
17 = простое число
Как организовать ожидание в программе до нажатия какой-либо клавиши? В QBasic для этой цели подойдет системная переменная INKEY$. Достаточно присвоить ее значение какой-либо символьной переменной, например А$, и организовать бесконечный цикл до тех пор пока длина значения А$ перестанет отличаться от нуля:
А$=""
М10 : A$=INKEY$ ; IF А$="" THEN GOTO M10
Можно воспользоваться и другим приемом — включить в программу оператор ввода в какую-либо переменную символьного типа. Такая переменная предпочтительнее числовой, т. к. в нее можно ввести пустое значение, нажав только клавишу <Enter>. Кроме того, набор любого отображаемого символа не приведет к ошибке.
В Си временный приостанов до нажатия какой-либо клавиши организуют с функции getch.
В Паскале можно организовать бесконечный цикл, аналогичный приведенному выше варианту для QBasic, с логической функции KeyPressed:
while not KeyPressed;
var
N: integer;
begin
write('N = ');
readln(N);
writeln;
writeln('Цифры числа (справа налево):');
while N > 0 do { <-- Выполняем цикл, пока число больше 0 }
begin
write(' ', N mod 10); { <-- выводим остаток деления на 10 }
N := N div 10 { <== находим целую часть от деления на 10 }
end;
readln
end.
Примеры
Входные данные
3
v 3
l 1
u 2
luvu
3
luv
vul
uuu
Выходные данные
6
11 задание не знаю сорри бро дай корону