Дано натуральное число N. Вычислите сумму его цифр.
(При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Разрешена только рекурсия и целочисленная арифметика. Используйте операцию получения остатка от деления, и операцию целочисленного деления).
Пользователь получает на вход целое положительное число N напишите рекурсивную функцию, которая вернет число Фиббоначи стоящими под этим номером
var N :integer;
function inputF(N :integer) :integer;
begin
if N <= 2 then
inputF := 1
else
inputF := inputF(N - 1) + inputF(N - 2);
end;
begin
write(inputF(9));
end.
Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого
var N, n1, n2 :integer;
procedure inputF(N, n1, n2 :integer);
var i, fib :integer;
begin
if i < N then
begin
write(n1, ' ');
fib := n1 + n2;
n1 := n2;
n2 := fib;
inputF(N - 1, n1, n2);
end;
end;
begin
N := 9;
n1 := 0;
n2 := 1;
inputF(N, n1, n2);
readln();
end.
Дано целое положительное число A и целое положительно число B. Выведите на экран все числа, расположенные между между ними.
var a, b :integer;
function inputN(a, b :integer) :integer;
begin
if a < b then
begin
write(a, ' ');
inputN := inputN(a + 1, b);
end
else
if b < a then
begin
write(b, ' ');
inputN := inputN(b + 1, a);
end;
end;
begin
a := 14;
b := 8;
inputN(a, b);
readln();
end.
Дано целое положительное число N. Выведите на экран все число от 1 до N (по возрастанию).
var N :integer;
function decrease(N :integer) :integer;
begin
if N > 0 then
begin
decrease := decrease(N - 1);
write(N, ' ');
end;
end;
begin
decrease(5);
readln();
end.
Дано целое положительное число N. Выведите на экран все число от N до 1 (по убыванию).
var N :integer;
function decrease(N :integer) :integer;
begin
if N > 0 then
begin
write(N, ' ');
decrease := decrease(N - 1);
end;
end;
begin
decrease(5);
readln();
end.
var s:string; i, n: Integer;
a: array[1..8] of char;
begin
writeln('Vvedite stroku');
readln(s);
n := 1;
while(n<10) do // 1-8
begin
for i:=1 to Length(s) do
if (s[i]>='0')and(s[i]<='9') then
begin
a[n]:=s[i];
inc(n);
end;
end;
for i:=low(a) to high(a) do
write(a[i],' '); // выводим массив
readln();
end.
Напишите процедуру, которая получает на вход два целых числа и выводит на экран то, которое больше
program Project1;
procedure pishi(a: integer);
procedure pishi(b: integer);
var a, b: integer;
begin
writeln('Введите целое число');
Readln(a);
writeln('Введите целое число');
readln(b);
end;
begin
if (a>b) then
pishi(a);
else
pishi(b);
writeln('Конец!');
end.