#include <stdio.h>
#include <math.h>
int main() {
double K = 3.0, L = 12.48;
double xs[] = {2.005, -0.437, -2.47};
for (int i = 0; i < 3; i++) {
double x = xs[i];
printf("--- Step %d: x = %.3f ---\n", i
+ 1, x
);
if (x == 0) {
printf("Error: Division by zero (x=0)\n\n"); continue;
}
double denomB
= pow(0.842, 4) * sqrt(8 * K
) * cos(4 * x
); if (fabs(denomB
) < 1e-12) { printf("Error: Division by zero in b\n\n"); continue;
}
double b
= (sin(2 * x
) * L
* pow(5.75, 1.0/3.0)) / denomB
; double ab = a * b;
double y;
if (ab < 0) {
double denomY = 2 * a + 5 * b;
if (fabs(denomY
) < 1e-12) { printf("Error: Division by zero in y\n\n"); } else {
y = (a - 2 * b) / denomY;
printf("a: %.4f, b: %.4f, Y: %.4f\n\n", a
, b
, y
); }
} else {
printf("a: %.4f, b: %.4f, Y: %.4f\n\n", a
, b
, y
); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSBLID0gMy4wLCBMID0gMTIuNDg7CiAgICBkb3VibGUgeHNbXSA9IHsyLjAwNSwgLTAuNDM3LCAtMi40N307CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICBkb3VibGUgeCA9IHhzW2ldOwogICAgICAgIHByaW50ZigiLS0tIFN0ZXAgJWQ6IHggPSAlLjNmIC0tLVxuIiwgaSArIDEsIHgpOwoKICAgICAgICBpZiAoeCA9PSAwKSB7CiAgICAgICAgICAgIHByaW50ZigiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gKHg9MClcblxuIik7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgZG91YmxlIGEgPSB0YW4ocG93KHNxcnQoSyksIHBvdyhLLCAxLjAvMy4wKSkpIC0gMS4wLygyLjAqeCk7CiAgICAgICAgCiAgICAgICAgZG91YmxlIGRlbm9tQiA9IHBvdygwLjg0MiwgNCkgKiBzcXJ0KDggKiBLKSAqIGNvcyg0ICogeCk7CiAgICAgICAgaWYgKGZhYnMoZGVub21CKSA8IDFlLTEyKSB7CiAgICAgICAgICAgIHByaW50ZigiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gaW4gYlxuXG4iKTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICBkb3VibGUgYiA9IChzaW4oMiAqIHgpICogTCAqIHBvdyg1Ljc1LCAxLjAvMy4wKSkgLyBkZW5vbUI7CiAgICAgICAgZG91YmxlIGFiID0gYSAqIGI7CiAgICAgICAgZG91YmxlIHk7CgogICAgICAgIGlmIChhYiA8IDApIHsKICAgICAgICAgICAgZG91YmxlIGRlbm9tWSA9IDIgKiBhICsgNSAqIGI7CiAgICAgICAgICAgIGlmIChmYWJzKGRlbm9tWSkgPCAxZS0xMikgewogICAgICAgICAgICAgICAgcHJpbnRmKCJFcnJvcjogRGl2aXNpb24gYnkgemVybyBpbiB5XG5cbiIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgeSA9IChhIC0gMiAqIGIpIC8gZGVub21ZOwogICAgICAgICAgICAgICAgcHJpbnRmKCJhOiAlLjRmLCBiOiAlLjRmLCBZOiAlLjRmXG5cbiIsIGEsIGIsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgeSA9IHNxcnQoYWIpOwogICAgICAgICAgICBwcmludGYoImE6ICUuNGYsIGI6ICUuNGYsIFk6ICUuNGZcblxuIiwgYSwgYiwgeSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=