""" 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()