Se puede utilizar un denominador común para representar $A+B+C+D$ de la siguiente manera:
$\frac { 3575731358058071001505461047880153496135647147956712099892919567403972111048861727680010033109631385790971177403304308564585151977964488268427380282686715110926060936509021700772235697853916232082549146464679733894051137344195234026614190284685748786831767118464175795945305329770579403212229045776067391921975947857968071181058841932766830635113811188136521343633627324717825000949422046813976478178409458933697 } { 51465510988596121091440469814015052510508559825362615771552289268007611821007822859557515012057086449433091687932874147396314615748433771213854498400441081576302516854261887909749167542410259052963219107722593448921482316433438540893581542040052682891447881771009698122037995051713928100054112137414587772004747077492191879009552930946844188111721346002111764321797985322982380602304745937852660670505680214863027338467278084046848 } $
Esto, cuando se multiplica por $2675394361153184$ , le dará un resultado de $0.0001858816$ .
Si no puedes ver bien los números, puedes editar la respuesta y copiarlos...
En general, debes calcular una aproximación racional de cada factor irracional.
Aquí tienes un algoritmo que puedes utilizar para calcularlo para una raíz cuadrada:
Function (input number, input num_of_iterations, output root):
Set root.numerator = number
Set root.denominator = 1
Run num_of_iterations:
Set root = root-(root^2-number)/(root*2)
Puedes encontrar este Implementación de C++ útil (también incluye la conversión del numerador dividido por el denominador en una cadena numérica con precisión de punto flotante predefinida).
Tenga en cuenta que no se requieren operaciones de punto flotante (como se demuestra en el enlace dado).