cpr.c
来自「ACM精彩程序02(University_of_Waterloo_2_1_Jun」· C语言 代码 · 共 30 行
C
30 行
#include <stdio.h>#include <math.h>#define EPS 10e-8int main () { double D, V, R, r, v; double PI = acos(-1.0); double rl, rh; while(scanf("%lf%lf", &D, &V) == 2 && D) { V /= 2; R = D/2; if (PI*R*R*R - 1.0/3*PI*(R)*(R*R) < V) { printf("Too much\n"); return 0; } rl = 0; rh = R; while (fabs(rl-rh)>EPS) { r = (rh+rl)/2; v = PI*R*R*R - 1.0/3*PI*(R-r)*(R*R+r*R+r*r) - PI*r*r*r; if (v<V) rh = r; else rl = r; } printf("%.3f\n", 2*r); } if (D) printf("missing end record\n"); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?