Alqoritm Analizi
Funksiyanı nəzərdən keçirin . Aşkar ki:
;
.
Beləliklə, tənliyin kökü
aralığında yerləşir . Funksiya sərt artandır. Kök -i ikili axtarışla tapırıq.
Nümunə
Funksiyanın qrafikini nəzərdən keçirin . Görə bilərik ki:
;
.
Buna görə, tənliyin kökü aralığında yerləşir və ikili axtarışla tapıla bilər.
Alqoritmin Həyata Keçirilməsi
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);
Java Həyata Keçirilməsi
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(); } }