• Предмет: Информатика
  • Автор: arsenkd99
  • Вопрос задан 2 месяца назад

Язык программирования С

1) Скласти програму рішення рівняння F (x) = 0 c використанням методу дихотомій (метод половинного ділення). Блок-схема и код.

2) Дана нескінченна числова послідовність
101001000100001000001 ... ..
Вводиться число К. Визначити, яка цифра (0 або 1) знаходиться на К-й
позиції. (Наприклад, вводимо 4, програма видає - 1, т. К. На 4-му місці послідовності знаходиться 1)

Ответы

Ответ дал: flash77779
1

1)

#include<stdio.h>

#include<math.h>

double f(double x) {

   // Определите вашу функцию здесь. Например, F(x) = x^2 - 4

   return x*x - 4;

}

void bisect(double a, double b) {

   if (f(a) * f(b) >= 0) {

       printf("Ви неправильно ввели a і b\n");

       return;

   }

   double c = a;

   while ((b-a) >= 0.01) {

       // Находим серединное значение

       c = (a+b)/2;

 

       // Проверяем, является ли c корнем?

       if (f(c) == 0.0)

           break;

 

       // Decide the side to repeat the steps

       else if (f(c)*f(a) < 0)

           b = c;

       else

           a = c;

   }

   printf("Корень цього рівняння = %.4lf\n",c);

}

 

// Головна функція

int main() {

   double a,b;

   a=-100;

   b=100;

 

   bisect(a, b);

 

   return 0;

}

2)

#include <stdio.h>

#include <math.h>

int find_digit(int k) {

   int n = (int)(sqrt(2 * k));

   if(n * (n + 1) >= 2 * k) {

       return 1;

   } else {

       return 0;

   }

}

int main() {

   int k;

   printf("Введіть число К: ");

   scanf("%d", &k);

   printf("Цифра на %d позиції: %d\n", k, find_digit(k));

   return 0;

}

Вас заинтересует