Given a number to find the first and last digit of a number.
Examples:
Input : 12345
Output : First digit: 1
last digit : 5
To find last digit of a number, we use modulo operator %. When modulo divided by 10 returns its last digit. Suppose if n = 1234 then last Digit = n % 10 => 4.
Finding first digit of a number is little expensive than last digit as we have divide the given number by 10 until it becomes less than 10. At the end we are left with the first digit.
Approach 1 (With loop):
// Program to find first and last
// digits of a number
#include <bits/stdc++.h>
using namespace std;
// Find the first digit
int firstDigit(int n)
{
// Remove last digit from number
// till only one digit is left
while (n >= 10)
n /= 10;
// return the first digit
return n;
}
// Find the last digit
int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// Driver program
int main()
{
int n = 98562;
cout << firstDigit(n) << " "
<< lastDigit(n) << endl;
return 0;
}
// Java Program to find first and last
// digits of a number
import java.util.*;
import java.lang.*;
public class GfG{
// Find the first digit
public static int firstDigit(int n)
{
// Remove last digit from number
// till only one digit is left
while (n >= 10)
n /= 10;
// return the first digit
return n;
}
// Find the last digit
public static int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// driver function
public static void main(String argc[])
{
int n = 98562;
System.out.println(firstDigit(n) + " "
+ lastDigit(n));
}
}
// This code is contributed by Sagar Shukla
# Python3 program to find first and
# last digits of a number
# Find the first digit
def firstDigit(n) :
# Remove last digit from number
# till only one digit is left
while n >= 10:
n = n / 10;
# return the first digit
return int(n)
# Find the last digit
def lastDigit(n) :
# return the last digit
return (n % 10)
# Driver Code
n = 98562;
print(firstDigit(n), end = " ")
print(lastDigit(n))
# This code is contributed by rishabh_jain
// C# Program to find first and last
// digits of a number
using System;
public class GfG{
// Find the first digit
public static int firstDigit(int n)
{
// Remove last digit from number
// till only one digit is left
while (n >= 10)
n /= 10;
// return the first digit
return n;
}
// Find the last digit
public static int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// driver function
public static void Main()
{
int n = 98562;
Console.WriteLine(firstDigit(n) + " "
+ lastDigit(n));
}
}
// This code is contributed by vt_m
<script>
// javascript Program to find first and last
// digits of a number
// Find the first digit
function firstDigit(n)
{
// Remove last digit from number
// till only one digit is left
while (n >= 10)
n /= 10;
// return the first digit
return Math.floor(n);
}
// Find the last digit
function lastDigit(n)
{
// return the last digit
return Math.floor(n % 10);
}
// Driver code
let n = 98562;
document.write(firstDigit(n) + " "
+ lastDigit(n));
// This code is contributed by sanjoy_62.
</script>
<?php
// PHP Program to find first
// and last digits of a number
// Find the first digit
function firstDigit($n)
{
// Remove last digit from number
// till only one digit is left
while ($n >= 10)
$n /= 10;
// return the first digit
return (int)$n;
}
// Find the last digit
function lastDigit($n)
{
// return the last digit
return ((int)$n % 10);
}
// Driver Code
$n = 98562;
echo firstDigit($n) . " " .
lastDigit($n) . "\n";
// This code is contributed
// by Akanksha Rai(Abby_akku)
Output
9 2
Time Complexity: O(log10n)
Auxiliary Space: O(1)
Approach 2 (Without loop)
// Program to find first and last
// digits of a number
#include <bits/stdc++.h>
using namespace std;
// Find the first digit
int firstDigit(int n)
{
// Find total number of digits - 1
int digits = (int)log10(n);
// Find first digit
n = (int)(n / pow(10, digits));
// Return first digit
return n;
}
// Find the last digit
int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// Driver program
int main()
{
int n = 98562;
cout << firstDigit(n) << " "
<< lastDigit(n) << endl;
return 0;
}
// Java program to find first and
// last digits of a number
import java.math.*;
class GFG {
// Find the first digit
static int firstDigit(int n)
{
// Find total number of digits - 1
int digits = (int)(Math.log10(n));
// Find first digit
n = (int)(n / (int)(Math.pow(10, digits)));
// Return first digit
return n;
}
// Find the last digit
static int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// Driver program
public static void main(String args[])
{
int n = 98562;
System.out.println(firstDigit(n) +
" " + lastDigit(n));
}
}
// This code is contributed by Nikita Tiwari.
# Python3 program to find first
# and last digits of a number
import math
# Find the first digit
def firstDigit(n) :
# Find total number of digits - 1
digits = (int)(math.log10(n))
# Find first digit
n = (int)(n / pow(10, digits))
# Return first digit
return n;
# Find the last digit
def lastDigit(n) :
# return the last digit
return (n % 10)
# Driver Code
n = 98562;
print(firstDigit(n), end = " ")
print(lastDigit(n))
# This code is contributed by rishabh_jain
// C# program to find first and
// last digits of a number
using System;
class GFG {
// Find the first digit
static int firstDigit(int n)
{
// Find total number of digits - 1
int digits = (int)(Math.Log10(n));
// Find first digit
n = (int)(n / (int)(Math.Pow(10, digits)));
// Return first digit
return n;
}
// Find the last digit
static int lastDigit(int n)
{
// return the last digit
return (n % 10);
}
// Driver program
public static void Main()
{
int n = 98562;
Console.WriteLine(firstDigit(n) +
" " + lastDigit(n));
}
}
// This code is contributed by vt_m.
<script>
// JavaScript program to find first
// and last digits of a number
// Find the first digit
function firstDigit(n)
{
// Find total number of digits - 1
let digits = Math.floor(Math.log(n)/Math.log(10))
// Find first digit
n = Math.floor(n / Math.pow(10, digits))
// Return first digit
return n;
}
// Find the last digit
function lastDigit(n){
// return the last digit
return (n % 10)
}
// Driver Code
let n = 98562;
document.write(firstDigit(n)," ")
document.write(lastDigit(n),"</br>")
// This code is contributed by shinjanpatra
</script>
<?php
// Program to find first and last
// digits of a number
// Find the first digit
function firstDigit($n)
{
// Find total number of digits - 1
$digits = (int)log10($n);
// Find first digit
$n = (int)($n / pow(10, $digits));
// Return first digit
return $n;
}
// Find the last digit
function lastDigit($n)
{
// return the last digit
return ($n % 10);
}
// Driver Code
$n = 98562;
echo firstDigit($n) , " ",
lastDigit($n), "\n";
// This code is contributed by ajit
?>
Output
9 2
Time Complexity: O(1)
Auxiliary Space: O(1)
Important note: log10() is a mathematical function present in the <cmath> header file. It returns log base 10 value of the passed parameter to log10() function.
Approach 3: Using string operation std::to_string
First converting number to string and then first char of string and last character of string - '0' is our ans.
#include <iostream>
using namespace std;
int main() {
int n = 34356;
string s = to_string(n);
int first_digit = s.front() - '0';
int last_digit = s.back() - '0';
cout<<"First digit of "<<n<<" is "<<first_digit<<endl;
cout<<"Last digit of "<<n<<" is "<<last_digit<<endl;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
int n = 34356;
String s = Integer.toString(n);
int first_digit = s.charAt(0) - '0';
int last_digit = s.charAt(s.length() - 1) - '0';
System.out.println("First digit of " + n + " is " + first_digit);
System.out.println("Last digit of " + n + " is " + last_digit);
}
}
# Python program to extract first and last digits of a number
# including comments and no empty lines
# take an integer input
n = 34356
# convert the integer to string
s = str(n)
# extract first and last digits from the string
first_digit = int(s[0])
last_digit = int(s[-1])
# print the results
print("First digit of", n, "is", first_digit)
print("Last digit of", n, "is", last_digit)
using System;
public class GFG{
static public void Main (){
int n = 34356;
string s = n.ToString();
int first_digit = s[0] - '0';
int last_digit = s[s.Length - 1] - '0';
Console.WriteLine("First digit of {0} is {1}", n, first_digit);
Console.WriteLine("Last digit of {0} is {1}", n, last_digit);
}
}
let n = 34356;
let s = n.toString();
let first_digit = parseInt(s.charAt(0));
let last_digit = parseInt(s.charAt(s.length-1));
console.log("First digit of " + n + " is " + first_digit);
console.log("Last digit of " + n + " is " + last_digit);
Output
First digit of 34356 is 3 Last digit of 34356 is 6
Time Complexity: O(d)
Auxiliary Space: O(d)