Решить . Алгоритм вычисления функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:
F(n) = 0 при n = 0
F(n) = F(n/2) – 1 при n > 0 для чётных n
F(n) = 3 + F(n–1) при n > 0 для нечётных n
Сколько различных значений может принимать функция F(n) для чисел n, меньших 1000?
int main () {
const int n = 10;
int massive[n];
int maxElem;
int numberOfMaxElem;
for(int i=0;i<n;++i) {
cin>>massive[i]; // вводим массив из 10 элементов
}
maxElem = massive[0]; // максимальный элемент - первый, присваиваем
for(int i=0;i<n;++i) {
if(massive[i]>maxElem) { // если максимальный элемент меньше
maxElem = massive[i];//чем данный, то данному присваеваем //максимальный
numberOfMaxElem = i; //определяем номер макс элемента
}
}
int multElemBeforeMax;
for(int j=0;j<numberOfMaxElem;++j) {
multElemBeforeMax *= massive[j]; // произведение элементов до максимального
}
int countElemBehindMax;
countElemBehindMax = n-numberOfMaxElem; // кол-во элементов после максимального
cout <<multElemBeforeMax; // вывод на экран
cout <<countElemBehindMax;
return 0;
}
var a,b,c: real;
begin
readln (a,b,c);
If c > a+b then writeln ( 'Такого треугольника не существует');
If a > c+b then writeln ( 'Такого треугольника не существует');
If b> a+c then writeln ( 'Такого треугольника не существует');
If a=b and a=c then writeln ('Этот треугольник равносторонний');
If a=b or a=c or b=c then writeln ('Этот треугольник равнобедренный');
If a = scrt ( b*b + c*c) then writeln ('Этот треугольник прямоугольный');
If b = scrt (a*a + c*c) then writeln ('Этот треугольник прямоугольный');
If c = scrt (a*a + b*b) then writeln ('Этот треугольник прямоугольный');
end.