Хелпикс

Главная

Контакты

Случайная статья





Код программы. include <iostream>. using namespace std;. int rek1(int a, int b). if (a == b) return 1;. if (a > b) return 1+rek1(a-b,b);. else return 1 + rek1(a , b-a);. int main(). cin >> a>> b;. cout<<\n <<re



Код программы

#include <iostream>

using namespace std;

int rek1(int a, int b)

{

        

    if (a == b) return 1;

        

              if (a > b) return 1+rek1(a-b,b);

              else return 1 + rek1(a , b-a);

        

}

int main()

{

int a, b;

cin >> a>> b;

    cout<<"\n" <<rek1(a, b);

        

}

Контрольный пример

2. Исполнитель умеет выполнять два действия: «+1», «*2». Составьте программу получения из числа 1 числа 100.

Код программы

#include <iostream>

using namespace std;

int rek(int a)

{

if (a == 100) return 100;

if (a * 2 < 100)

   return rek(a * 2);

else

{

   return rek(a+1);

}

 

}

int main()

{

int a = 1;

cout << rek(a);

}

Контрольный пример

 

3. Методом половинного деления решить уравнение sin x = x2 на отрезке [а; b] при х>0. Cчитать, что на заданном отрезке действительный корень существует.

Код программы

#include <iostream>

#include <cmath>

 

using namespace std;

double M_PI = 3.14;

double func(double x)

{

// return (sin(M_PI * x / 180) - 1 / x);

 //return (sin(M_PI * x / 180) - (x * x));

return (sin(x) - (x * x));

}

double find(double x0, double x1, double eps)

{

double left = x0, right = x1, x, fl, fr, f;

int iter = 0;

cout << "x0= " << x0 << " x1= " << x1 << " ";

do {

   x = (left + right) / 2;

   f = func(x);

   if (f > 0) right = x;

   else left = x;

   iter++;

} while (fabs(f) > eps&& iter < 20000000);

// cout << iter << " iterations" << endl;

return x;

}

int main()

{

setlocale(LC_ALL,"rus");

double a, b;

 

cout << "Введите a,b\n";

cin >> a >> b;

cout << find(a, b, 0.000001);

cin.get(); return 0;

}

Контрольный пример

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.