zoukankan      html  css  js  c++  java
  • 俄罗斯乘法

    俄罗斯乘法是一种计算两数相乘的算法。
    举例如下:
    计算 35*72
    过程
    35        72
    17        144
    8          288
    4          576
    2          1152
    1          2304
    从上到下,对每一行,若左边的数字若为奇数,则将右边的数字取出,累加。
    72+144+2304=2520
    累加的结果2520即为乘积。
    因为该算法不需要已知九九乘法表。
    所以在计算机中有应用。
    具体参考:《算法基础
    原理是将左边的数除以2 右边的数乘以2,左边数除以2以后有余数(余数为1),则将右边的数(1*右边的数)累加到结果中。
                                                                                  ------摘自百度百科
     1 #include<iostream>
     2 using namespace std;
     3 int Russia(int m, int n)
     4 {
     5     int result = 0;
     6     while (m != 1)
     7     {
     8         if (m % 2 != 0)
     9             result += n;
    10         m = m / 2;
    11         n = n * 2;
    12     }
    13     result += n;
    14     return result;
    15 }
    16 int main()
    17 {
    18     int m, n;
    19     cin >> m >> n;
    20     cout << Russia(m, n) << endl;
    21 
    22 }
    View Code
  • 相关阅读:
    Redis 连接命令
    Redis 脚本
    Redis 事务
    Redis 发布订阅
    Redis HyperLogLog
    Redis 有序集合(sorted set)
    Redis 集合(Set)
    Redis 列表(List)
    Redis 哈希(Hash)
    特定消费者的限制流量
  • 原文地址:https://www.cnblogs.com/longzu/p/4400977.html
Copyright © 2011-2022 走看看