Решить без блок-схемы,последовательностью действий
1.какие значения будет принимать величина-счётчик при выполнении следующего цикла : от e=r до 10 шаг 2;
составить обычную школьную блок-схему (круги,квадратики,прямоугольники и тд)
2.спортсмен пробежал 10 км в первый день.каждый следующий день он увеличивал путь на 10%.найти общее количество км пройденных за 7 дней.
Ниже приводится запись программы на языке Pascal, содержащая две функции - рекуррентную F (строго в соответствии с алгоритмом) и рекурсивную Fr.
Вывод иллюстрирует работу программы для значения аргумента n=6
function F(n: integer): integer;
{рекуррентная}
var
i, p: integer;
fn1, fn2: integer;
begin
case n of
1: Result := 1;
2: Result := 2;
else
begin
fn2 := 1;
fn1 := 2;
for i := 3 to n do
begin
p := 2 * fn1 + (i - 2) * fn2;
fn2 := fn1;
fn1 := p
end;
Result := p
end
end
end;
function Fr(n: integer): integer;
{рекурсивная - оцените изящество рекурсии!}
begin
case n of
1: Result := 1;
2: Result := 2;
else Result := 2 * Fr(n - 1) + (n - 2) * Fr(n - 2)
end
end;
begin
writeln(F(6), ' ', Fr(6))
end.
Тестовое решение:
142 142
ответ: значение функции F(6) равно 142.
var
k, p, q: integer;
flag: boolean;
f:Text
begin
Assign(f,'input.txt');
Reset(f);
read(f,k);
Close(f);
case k of
1, 2, 4, 7: writeln('NO');
3, 5: writeln('YES');
else
q := k mod 5;
if (q = 0) or (k = 3) then writeln('YES')
else
begin
q := (k div 5);
flag := false;
while (not flag) and (q > 0) do
begin
p := k - 5 * q;
if p mod 3 = 0 then
begin
writeln('YES');
flag := true
end;
q := q - 1
end;
if (not flag) then writeln('NO')
end
end
end.
2. Решение в соответствии с алгоритмом, приведенным в комментарии к вопросу.
const
Kno = [1, 2, 4, 7];
var
k: integer;
f:Text
begin
Assign(f,'input.txt');
Reset(f);
read(f,k);
Close(f);
if k in Kno then writeln('NO')
else writeln('YES')
end.