浮點數的二分
例題:題目描述
告訴你圓台的高h,下地面半徑r,和上底面半徑r;你需要平行於地面切割圓台,使切割後的圓台上下兩部分相等,輸出切割平面的高度h(切割平面與「上」底面的距離)
輸入第一行乙個t表示t組資料,每組資料三個整數h,r,r(t<=10;1<=r,r,h<=100)
輸出如題所述輸出乙個浮點數h(保留3位小數)
樣例輸入
27 17 9
12 13 10
樣例輸出
4.489
6.770
#include #include #include #include #include #include #define eps 1e-8
using namespace std;
double cal(double mid,double r2,int r)
int main ()
h=lb;//二分
//printf("%lf\n",r2);
//printf("%lf\n",v1);
printf("%.3lf\n",h);
}return 0;
}
另一種
for( int i = 0; i < 100; ++ i )
h=lb;
最後時 lb=rb
二分法相關
陣列有序 尋找目標數字x int maxn 110 int a maxn int binary int left,int right,int x return 1 最終沒有找到相等 尋找第乙個大於等於數字x的數字 int lower bound int a,int left,int right,in...
二分法相關
如何去使用二分搜尋去有序陣列大於等於某個數的最左側位置 二分如何考慮?用中點值和target比較 如果是大於等於target 如果是小於target public class bsleft public static int bsleft int array,int target else retu...
二分法相關題目
一般用法 public intbinarysearch int nums,int key else if nums m key else return 1 二分法的時間複雜度為o logn 變種 例如在乙個有重複元素的陣列中查詢 key 的最左位置的實現如下 public intbinarysear...