Funksiyanı nəzərdən keçirin f(x) = x^2 + \sqrt{x}. Aşkar ki:
f(0) = 0;
f(C) = C^2 + \sqrt{C} > C.
Beləliklə, tənliyin kökü
aralığında yerləşir . Funksiya sərt artandır. Kök -i ikili axtarışla tapırıq.
Funksiyanın qrafikini nəzərdən keçirin f(x) = x^2 + \sqrt{x}. Görə bilərik ki:
f(0) = 0 < C;
f(\sqrt{C}) = C + \sqrt{\sqrt{C}} > C.
Buna görə, tənliyin kökü f(x) = C aralığında yerləşir [0; \sqrt{C}] və ikili axtarışla tapıla bilər.

Sabit EPS və funksiya f(x)-i elan edin.
#define EPS 1e-10
double f(double x)
{
return x * x + sqrt(x);
}Proqramın əsas hissəsi. dəyərini oxuyun.
scanf("%lf", &c);İkili axtarış sərhədlərini [left; right] = [0; C] təyin edin.
left = 0; right = c;İkili axtarışa başlayın.
while (right - left > EPS)
{
middle = (left + right) / 2;
y = f(middle);
if (y > c) right = middle; else left = middle;
}Cavabı çıxarın.
printf("%lf\n", left);import java.util.*;
public class Main
{
static double f(double x)
{
return x * x + Math.sqrt(x);
}
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
double c = con.nextDouble();
double left = 0, right = c;
while (right - left > 1e-10)
{
double middle = (left + right) / 2;
double y = f(middle);
if (y > c) right = middle; else left = middle;
}
System.out.println(left);
con.close();
}
}