Maison  >  Article  >  Tutoriel système  >  Algorithme - Multiplication russe

Algorithme - Multiplication russe

WBOY
WBOYavant
2024-02-16 09:10:181201parcourir

Algorithme - Multiplication russe

Un algorithme non traditionnel pour multiplier deux entiers positifs

Supposons que n et m sont deux entiers positifs, calculez n*m et utilisez maintenant l'entrée de n comme mesure de la taille de l'instance.

En supposant que n est un nombre pair, une instance avec la moitié de la taille d'origine doit traiter n/2, n*m=n/2 * 2m

En supposant que n est un nombre impair, il vous suffit de faire un simple ajustement à la formule, n*m=(n-1)/2 * 2m

Et utilisez 1*m=m comme condition de terminaison.

Si nous écrivons un exemple, nous constaterons que lorsque toutes les n valeurs actuelles sont impaires, il suffit d'ajouter les m valeurs correspondantes pour obtenir le produit de n*m.

Par exemple : 50*65=25*130=12*260 (+130)=6*520=3*1040=1*2080===2080+1040+130=3250

Commençons l'implémentation du code :
#inclure <iostream><br> en utilisant l'espace de noms std ;</iostream>

int main()
{
int n,m,mul=0;
cin>>n>>m;
pour(int i=n>>1;i>=1;i=i>>1)
{
m=m

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer