quadratic/quadratic.nim
array-in-a-matrix df1258d1d9 rewrite in nim
2023-02-01 11:19:27 -05:00

27 lines
785 B
Nim

import os, math, strutils, strformat
var num_a, num_b, num_c: float
if paramCount() >= 3:
num_a = parseFloat(paramStr(1))
num_b = parseFloat(paramStr(2))
num_c = parseFloat(paramStr(3))
# else:
# launch ui to get numbers
let radical: float = num_b^2 + (-4 * num_a * num_c)
if radical < 0:
# complex roots
let real_part: float = -num_b / (2 * num_a)
let imaginary_part: float = sqrt(radical * -1) / (2 * num_a)
echo &"{real_part}+{imaginary_part}\t{real_part}-{imaginary_part}"
else:
# real roots
let numrator_1: float = -num_b + sqrt(radical)
let numrator_2: float = -num_b - sqrt(radical)
let solution_1: float = numrator_1 / (2 * num_a)
let solution_2: float = numrator_2 / (2 * num_a)
echo &"{solution_1}\t{solution_2}"