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 * bvoid lastDigit(string a, string b){ int lastDig = (a[a.length() - 1] - '0') * (b[b.length() - 1] - '0'); cout << lastDig % 10;}// Driver codeint main(){ string a = "1234567891233", b = "1234567891233156"; lastDigit(a, b); return 0;} |
Java
// Java implementation of the above approachclass 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 * bdef lastDigit(a, b): lastDig = ((int(a[len(a) - 1]) - int('0')) * (int(b[len(b) - 1]) - int('0'))) print(lastDig % 10)# Driver codeif __name__ == '__main__': a, b = "1234567891233", "1234567891233156" lastDigit(a, b)# This code has been contributed# by 29AjayKumar |
C#
// CSharp implementation of the above approachusing 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 * bfunction 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!
