Форум » Рекурсивные процедуры и функции » рекурсия в Паскаль » Ответить

рекурсия в Паскаль

Галия: 65) Алгоритм вычисления функции F(n) задан следующими соотношениями: F(n) = n + 15, при n  5 F(n) = F(n // 2) + n · n · n – 1, при чётных n > 5 F(n) = F(n–1) + 2 · n · n + 1, при нечётных n > 5 Здесь «//» обозначает деление нацело. Определите количество натуральных значений n из отрезка [1; 1000], для которых значения F(n) содержит не менее двух цифр 8. Здравствуйте, не получается в паскаль

Ответов - 1

Татьяна Иосифовна: var m,i,k,kol:integer; function F(n:integer): integer; begin if n<=5 then Result:=n+15; if( n>5) and (n mod 2=0) then Result:=F(n div 2)+n*n*n-1; if( n>5) and (n mod 2<>0) then Result:=F(n -1)+2*n*n+1; end; begin kol:=0; for i:=1 to 1000 do begin m:=f(i);k:=0; while m<>0 do begin if m mod 10=8 then inc(k); m:= m div 10; end; if k>=2 then inc(kol); end; writeln(kol); end.



полная версия страницы