File size: 1,060 Bytes
9b3b8c8
 
 
fe0557b
 
9b3b8c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fe0557b
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Simplifies a radical (square root) to its simplest form (e.g., sqrt(12) -> 2*sqrt(3)).
"""
import gradio as gr

def simplify_radical(number: int) -> str:
    if not isinstance(number, int):
        return "Input must be an integer."
    if number < 0:
        return "Cannot simplify the square root of a negative number with this function."
    if number == 0:
        return "0"
    i = 2
    factor = 1
    remaining = number
    while i * i <= remaining:
        if remaining % (i * i) == 0:
            factor *= i
            remaining //= (i*i)
            continue
        i += 1
    if factor == 1:
        return f"sqrt({remaining})"
    if remaining == 1:
        return str(factor)
    return f"{factor}*sqrt({remaining})"

simplify_radical_interface = gr.Interface(
    fn=simplify_radical,
    inputs=gr.Number(label="Number under radical", precision=0),
    outputs="text",
    title="Radical Simplifier",
    description="Simplify a square root (e.g., √12 → 2√3)"
)

if __name__ == "__main__":
    simplify_radical_interface.launch()