Rumah > Tutorial sistem > LINUX > teks badan

Algoritma - pendaraban Rusia

WBOY
Lepaskan: 2024-02-16 09:10:18
ke hadapan
1247 orang telah melayarinya

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!

sumber:linuxprobe.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!