Rumah  >  Artikel  >  Tutorial sistem  >  Algoritma - pendaraban Rusia

Algoritma - pendaraban Rusia

WBOY
WBOYke hadapan
2024-02-16 09:10:181200semak imbas

Algoritma - pendaraban Rusia

Algoritma bukan arus perdana untuk mendarab dua integer positif

Anggap n dan m ialah dua integer positif, hitung n*m, dan sekarang gunakan input n sebagai ukuran saiz contoh.

Dengan mengandaikan n ialah nombor genap, contoh dengan separuh saiz asal mesti memproses n/2, n*m=n/2 * 2m

Dengan mengandaikan n ialah nombor ganjil, anda hanya perlu membuat pelarasan mudah pada formula, n*m=(n-1)/2 * 2m

Dan gunakan 1*m=m sebagai syarat penamatan.

Jika kita menulis contoh, kita akan mendapati bahawa apabila semua nilai n semasa adalah ganjil, kita hanya perlu menambah nilai m yang sepadan untuk mendapatkan hasil darab n*m.

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

Mari mulakan pelaksanaan kod:
#include <iostream><br> menggunakan ruang nama std;</iostream>

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

Atas ialah kandungan terperinci Algoritma - pendaraban Rusia. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam