Heim >System-Tutorial >LINUX >Algorithmus - Russische Multiplikation

Algorithmus - Russische Multiplikation

WBOY
WBOYnach vorne
2024-02-16 09:10:181263Durchsuche

Algorithmus - Russische Multiplikation

Ein nicht zum Mainstream gehörender Algorithmus zur Multiplikation zweier positiver Ganzzahlen

Angenommen, n und m sind zwei positive ganze Zahlen, berechnen Sie n*m ​​und verwenden Sie nun die Eingabe von n als Maß für die Instanzgröße.

Angenommen, n ist eine gerade Zahl, muss eine Instanz mit halber Originalgröße n/2 verarbeiten, n*m=n/2 * 2m

Angenommen, n ist eine ungerade Zahl, müssen Sie nur eine einfache Anpassung der Formel vornehmen: n*m=(n-1)/2 * 2m

Und verwenden Sie 1*m=m als Beendigungsbedingung.

Wenn wir ein Beispiel aufschreiben, werden wir feststellen, dass wir, wenn alle aktuellen n-Werte ungerade sind, nur die entsprechenden m-Werte addieren müssen, um das Produkt von n*m zu erhalten.

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

Lassen Sie uns mit der Code-Implementierung beginnen:
#include <iostream><br> unter Verwendung des Namensraums std;</iostream>

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

Das obige ist der detaillierte Inhalt vonAlgorithmus - Russische Multiplikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen