📜  两个大号或小号(a * b)的乘积的最后一位

📅  最后修改于: 2021-05-04 20:53:47             🧑  作者: Mango

给定两个大数或小数,任务是找到这两个数的乘积的最后一位。
例子:

Input: a = 1234567891233789, b = 567891233156156
Output: 4

Input: a = 123, b = 456
Output: 8

方法:通常,两个数字a和b相乘的最后一位数字是这两个数字的LSB乘积的最后一位数字。
例如:对于a = 123和b = 456,
a * b的最后一位
=(((a的LSB)**(b的LSB))的最后一位
=((3)*(6))的最后一位
=(18)的最后一位
= 8
下面是上述方法的实现:

C++
// C++ implementation of the above approach
 
#include 
using namespace std;
 
// Fthe unction to print last digit of product a * b
void lastDigit(string a, string b)
{
    int lastDig = (a[a.length() - 1] - '0')
                  * (b[b.length() - 1] - '0');
    cout << lastDig % 10;
}
 
// Driver code
int main()
{
    string a = "1234567891233", b = "1234567891233156";
    lastDigit(a, b);
    return 0;
}


Java
// Java implementation of the above approach
 
class Solution {
 
    // Function to print last digit of product a * b
    public static void lastDigit(String a, String b)
    {
        int lastDig = (a.charAt(a.length() - 1) - '0')
                      * (b.charAt(b.length() - 1) - '0');
        System.out.println(lastDig % 10);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String a = "1234567891233", b = "1234567891233156";
        lastDigit(a, b);
    }
}


Python3
# Python3 implementation of the above approach
 
# Function to print the last digit
# of product a * b
def lastDigit(a, b):
    lastDig = ((int(a[len(a) - 1]) - int('0')) *
               (int(b[len(b) - 1]) - int('0')))
    print(lastDig % 10)
 
# Driver code
if __name__ == '__main__':
    a, b = "1234567891233", "1234567891233156"
    lastDigit(a, b)
 
# This code has been contributed
# by 29AjayKumar


C#
// CSharp implementation of the above approach
 
using System;
class Solution {
 
    // Function to print last digit of product a * b
    public static void lastDigit(String a, String b)
    {
        int lastDig = (a[a.Length - 1] - '0')
                      * (b[b.Length - 1] - '0');
 
        Console.Write(lastDig % 10);
    }
 
    // Driver code
    public static void Main()
    {
        String a = "1234567891233", b = "1234567891233156";
        lastDigit(a, b);
    }
}


PHP


Javascript


输出:
8

时间复杂度: O(1)。