Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This code was generated by colang 0.1-SNAPSHOT
- // Check out https://github.com/psenchanka/colang
- // Original CO source:
- // double abs(double x) {
- // if (x >= 0.0) return x else return -x
- // }
- //
- // double sqr(double x) {
- // return x * x
- // }
- //
- // double EPS = 1.0e-9
- //
- // //If we have no sqrt(), we can just write our own :)
- // double sqrt(double x) {
- // double r = 10.0
- //
- // while (abs(r * r - x) > EPS) {
- // r = r - (sqr(r) - x) / (2.0 * r)
- // }
- //
- // return r
- // }
- //
- // void main() {
- // double a, b, c
- // read(a)
- // read(b)
- // read(c)
- //
- // double det = sqr(b) - 4.0 * a * c
- // if (det < 0.0) {
- // //Can't print strings yet :(
- // println(-1)
- // return
- // }
- //
- // double r1 = (-b - sqrt(det)) / (2.0 * a)
- // double r2 = (-b + sqrt(det)) / (2.0 * a)
- //
- // println(r1)
- // println(r2)
- // }
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #define _not(a) (!(a))
- #define _neg(a) (-(a))
- #define _mul(a, b) ((a) * (b))
- #define _div(a, b) ((a) / (b))
- #define _add(a, b) ((a) + (b))
- #define _sub(a, b) ((a) - (b))
- #define _lt(a, b) ((a) < (b))
- #define _gt(a, b) ((a) > (b))
- #define _ltEq(a, b) ((a) <= (b))
- #define _gtEq(a, b) ((a) >= (b))
- #define _eq(a, b) ((a) == (b))
- #define _neq(a, b) ((a) != (b))
- #define _and(a, b) ((a) && (b))
- #define _or(a, b) ((a) || (b))
- #define _assign(a, b) ((a) = (b))
- #define _readInt(a) scanf("%d", &(a))
- #define _readDbl(a) scanf("%lf", &(a))
- #define _writeIntLn(a) printf("%d\n", a)
- #define _writeDblLn(a) printf("%lf\n", a)
- double co_EPS;
- double co_abs(double co_x);
- double co_sqr(double co_x_2);
- double co_sqrt(double co_x_3);
- void co_main();
- double co_abs(double co_x) {
- if (_gtEq(co_x, 0.0)) {
- return co_x;
- } else {
- return _neg(co_x);
- }
- }
- double co_sqr(double co_x_2) {
- return _mul(co_x_2, co_x_2);
- }
- double co_sqrt(double co_x_3) {
- double co_r;
- _assign(co_r, 10.0);
- while (_gt(co_abs(_sub(_mul(co_r, co_r), co_x_3)), co_EPS)) {
- {
- _assign(co_r, _sub(co_r, _div(_sub(co_sqr(co_r), co_x_3), _mul(2.0, co_r))));
- }
- }
- return co_r;
- }
- void co_main() {
- double co_a;
- double co_b;
- double co_c;
- double co_det;
- double co_r1;
- double co_r2;
- _assign(co_EPS, 1.0E-9);
- _readDbl(co_a);
- _readDbl(co_b);
- _readDbl(co_c);
- _assign(co_det, _sub(co_sqr(co_b), _mul(_mul(4.0, co_a), co_c)));
- if (_lt(co_det, 0.0)) {
- {
- _writeIntLn(-1);
- return ;
- }
- }
- _assign(co_r1, _div(_sub(_neg(co_b), co_sqrt(co_det)), _mul(2.0, co_a)));
- _assign(co_r2, _div(_add(_neg(co_b), co_sqrt(co_det)), _mul(2.0, co_a)));
- _writeDblLn(co_r1);
- _writeDblLn(co_r2);
- }
- int main() {
- co_main();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement