Red de conocimientos sobre prescripción popular - Conocimiento del confinamiento - Utilice una matriz para almacenar un número grande y luego divida este número por otro número. ¿Cómo diseñar un programa? Por favor, dame algún consejo sobre las gambas en lenguaje C. Gracias.

Utilice una matriz para almacenar un número grande y luego divida este número por otro número. ¿Cómo diseñar un programa? Por favor, dame algún consejo sobre las gambas en lenguaje C. Gracias.

¿Significa el cartel original que cada elemento de la matriz solo puede ser un número entre 0 y 9? ¿Qué pasa con el divisor? ¿También representado por una matriz? ¿O simplemente un simple int?

Si convertir todo en resta es problemático, ¿tal vez los pasos específicos para programar la división en la escuela primaria? Compare el dividendo y el divisor en secuencia comenzando desde el bit más alto del dividendo, use otra matriz para guardar el valor de comparación actual, use otra matriz para guardar el resto y, por supuesto, necesita un protector de matriz. Estas tres matrices se actualizan continuamente durante la operación.

Por ejemplo, podría resultar útil.

Dividendo int d[5] = {1, 2, 3, 4, 5} // significa d = 12345.

Divisor int x[2] = {6, 7}; //Del mismo modo, x = 67

Divisor int q[5]= {0} //Inicialización

p>

Restante int r[2]= { 0 }; //Inicialización

Valor actual int c[3]= { 0 }; //Inicialización

( 1 ) Actualizar c [3] = {0, 0, 1}, q [5] = {0, 0, 0, 0, 0}, r [2] = {0, 1};

(2) Actualizar C [3] = {0, 1, 2}, Q [5] = {0, 0, 0, 0}, R [2] = {1, 2};

(3) Actualizar c[3] = {1, 2, 3}, Q [5] = {0, 0, 0, 1}, r[2] = {5, 6};

(4) Actualizar c[3] = {5, 6, 4}, q[5] = {0, 0, 0, 1, 8}, r[2] = {2, 8};

(5) Actualizar c[3] = {2, 8, 5}, q[5] = {0, 0, 1, 8, 4}, R [2 r[2] = {1, 7} ; };

(6) Ya no hay posición para d, listo.

Resultado: cociente 184, resto 17.

Por supuesto, usted mismo debe definir o modificar cómo actualizar cada paso.