Given two large or small numbers, the task is to find the last digit of the product of these two numbers.
Examples:
Input: a = 1234567891233789, b = 567891233156156 Output: 4 Input: a = 123, b = 456 Output: 8
Approach: In general, the last digit of multiplication of 2 numbers a and b is the last digit of the product of the LSB of these two numbers.
For example: For a = 123 and b = 456,
the last digit of a*b
= Last digit of ((LSB of a)*(LSB of b))
= Last digit of ((3)*(6))
= Last digit of (18)
= 8
Below is the implementation of the above approach:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std; // Function 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
<?php // PHP implementation of the above approach // Function to print last digit of product a * b function lastDigit( $a , $b ) { $lastDig = (ord( $a [ strlen ( $a ) - 1]) - 48) * (ord( $b [ strlen ( $b ) - 1]) - 48); echo $lastDig % 10; } // Driver code $a = "1234567891233" ; $b = "1234567891233156" ; lastDigit( $a , $b ); // This code is contributed by ihritik ?> |
Javascript
<script> // Javascript implementation of the above approach // Function to print last digit of product a * b function lastDigit(a, b) { var lastDig = (a[a.length - 1] - '0' ) * (b[b.length - 1] - '0' ); document.write(lastDig % 10); } // Driver code var a = "1234567891233" , b = "1234567891233156" ; lastDigit(a, b); // This code is contributed by rrrtnx. </script> |
8
Time Complexity: O(1).
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!