C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ロシアの農民の乗算を実装するためのC++プログラム


2つの数値を乗算するロシアの農民アルゴリズム。これは、2つの長い数値の乗算を計算するための迅速なアルゴリズムです。

アルゴリズム

Begin
   Russianpeasant(num1, num2)
   Int result=0
   while (num2 > 0)
      if (num2 and 1)
         result = result + n;
         num1= num1 left shift 1;
         num2= num2left shift 1;
   return result
End

サンプルコード

#include <iostream>
using namespace std;
unsigned int russianPeasant(unsigned int n, unsigned int m) {
   int result = 0;
   while (m > 0) {
      if (m & 1)
         result = result + n;
         n = n << 1;
         m = m >> 1;
   }
   return result;
}
int main() {
   cout << russianPeasant(10, 20) << endl;
   cout << russianPeasant(7, 6) << endl;
   return 0;
}

出力

200
42

  1. コラッツ予想を実装するためのC++プログラム

    このチュートリアルでは、コラッツ予想を実装するプログラムについて説明します。 このために、数値nが与えられ、2つの演算を使用して1に変換できるかどうかを確認する必要があります- nが偶数の場合、nはn/2に変換されます。 nが奇数の場合、nは3 * n+1に変換されます。 例 #include<bits/stdc++.h> using namespace std; //checking if n reaches to 1 or not bool check1(int n, unordered_set<int> &s){    

  2. 配列要素の乗算のためのC++プログラム

    整数要素の配列で与えられ、タスクは配列の要素を乗算して表示することです。 例 Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 以下のプログラムで使用されるアプローチは次のとおりです − 一時変数を初期化して、最終結果を1で格納します ループを0からnまで開始します。nは配列のサイズです 最終結果を得るには、tempの値にarr[i]を掛け続