Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo programar un programa de división de números grandes en lenguaje C

Cómo programar un programa de división de números grandes en lenguaje C

En los algoritmos de ultra alta precisión, lo más difícil es la división. (Se requieren multiplicación, suma y resta)

Simula algoritmos artificiales (¡la mayoría de los números usan matrices de caracteres!)

Para realizar operaciones de división, primero debes poder al menos multiplicar .

123456789*5

La operación es la siguiente:

9*5=5 lleva a 4, 5*8=0 suma el dígito de las unidades a llevar en 4, y por lo tanto Analogía

También necesitas poder comparar números grandes. Esto es simple y no entraré en ello. Si no sabes cómo hacerlo, entonces yo puedo. ¡No sigas!

La división es la siguiente:

Pon los números en la matriz de caracteres....

Supuesto: 17346777412563/2365489

2365489 (7 bits)

1734677 (7 bits)

Utilice la comparación de matriz de caracteres, si es menor que 17346777 (8 bits)

Entonces 2365489. *9 El resultado de = es el mismo que 17346777. Si es mayor que 2365489*8....y así sucesivamente hasta que sea menor que. El primer lugar para obtener el resultado.

Luego 17346777-2365489*x=combina el resto con (el último dígito de 17346777) 4 para ver si es mayor que 2365489. Si es mayor, ingresa el cálculo de un solo paso.

Si es menor que 0, el segundo dígito del resultado será 0.

Se ha discutido la idea general, siempre que se analice claramente la idea intermedia, básicamente no habrá grandes problemas. En definitiva, simular la artificialidad.

En este caso, la división entre números estará bien ¡sin importar cuán grandes sean!

Si no entiendes la idea, puedes preguntarme. Si quieres que escriba código, no me preguntes.