Análisis experimental del algoritmo de multiplicación de Rusia

título Descripción

la multiplicación de Rusia, también conocido como el método de campesino ruso, es el algoritmo no convencionales para la multiplicación de dos números enteros positivos. m Supongamos y n son dos números enteros positivos, tenemos que calcular el producto de los mismos. Su principio principal es la siguiente: si n es un número par n- m = n- / 2 2M * el n- más m = (n- 1.) / 2 + M El algoritmo comprende solamente binario, duplicando, adición, y la operación simple varios, logrando así la velocidad muy rápido. DETALLADA calculado como se muestra a continuación:

 

 

entrada

Dos números enteros positivos n, m.

exportación

el producto de n y m. 
Resumiendo la salida de toda la expresión entre los operadores con números separados por un espacio.

de entrada de muestra Copia

50 65

Ejemplo de salida

130 + 1040 + 2080 = 3250 


Análisis de las muestras:
50 65
25 130 de la izquierda es un número impar de
12 es 260.
. 6 520.
. 3 1040 dejó un número impar de
12.080 a la izquierda es un número impar

de número impar izquierda a la derecha el número de todos juntos: 130+ 1040 + 2080 = 3250

#include <iostream>
 el uso de  espacio de nombres std;
int main () 
{ 
    int n, m; 
    cin >> n >> m;
    int temp [ 1005 ];
    int k = 0 ;
    mientras que (n =! 0 ) 
    {     

        si (n% 2 == 1 ) { 
            temp [k] = m; 
            k ++ ; 
        } 
        
        N / = 2 ; 
        m * = 2 ; 
    } 
    intsuma = 0 ;
    para ( int i = 0 ; i <k; i ++ ) 
    { 
        suma + = temp [i]; 
        cout << temp [i];
        si (i == k- 1 ) cout << "  " << " = " << "  " << suma << endl;
        otro tribunal << "  " << " + " << "  " ; 
    } 
    Volver  0 ;

 

Supongo que te gusta

Origin www.cnblogs.com/solititude/p/12551496.html
Recomendado
Clasificación