Math::BigInt
module in Perl provides objects that represent integers with arbitrary precision and overloaded arithmetical operators.
digit()
method of Math::BigInt
module is used to get nth digit of the given number counting from right. To get the digit from the left side we need to specify n as negative.
Syntax: Math::BigInt->digit($n)
Parameter:
$n: An integer value denoting the digit to be extracted.Returns: an integer value which represents the nth digit of the given number counting from the right side.
Example 1: use of Math::BigInt->digit()
method
#!/usr/bin/perl # Import Math::BigInt module use Math::BigInt;
$num = 7821593604;
# Create a BigInt object $x = Math::BigInt->new( $num );
# Initialize n $n = 4;
# Get the nth digit # counting from right side $nth_digit = $x ->digit( $n );
print "${n}th digit in $num is $nth_digit.\n" ;
# Assign new value to n $n = 6;
# Get the nth digit # counting from right side $nth_digit = $x ->digit( $n );
print "${n}th digit in $num is $nth_digit.\n" ;
|
4th digit in 7821593604 is 9. 6th digit in 7821593604 is 1.
Example 2: use of Math::BigInt->digit()
method to get nth digit from left
#!/usr/bin/perl # Import Math::BigInt module use Math::BigInt;
$num = 7821593604;
# Create a BigInt object $x = Math::BigInt->new( $num );
# To get nth digit form # left side of the number # we need to specify n # as a negative number # If n is negative then # then method will return # nth digit from left side # but counting will start from 1. # Initialize n $n = 4;
# Get the nth digit # from left side $nth_digit = $x ->digit(- $n );
print "${n}th digit from left in $num is $nth_digit.\n" ;
# Assign new value to n $n = 6;
# Get the nth digit # counting from left side $nth_digit = $x ->digit(- $n );
print "${n}th digit from left in $num is $nth_digit.\n" ;
|
4th digit from left in 7821593604 is 1. 6th digit from left in 7821593604 is 9.
Example 3: use of Math::BigInt->digit()
method to calculate sum of digits of a number
#!/usr/bin/perl # Import Math::BigInt module use Math::BigInt;
$num = 7821593604;
# Create a BigInt object $x = Math::BigInt->new( $num );
# Get the length of the number $length = $x -> length ();
# Variable to store sum $sum = 0;
# for loop to calculate # sum of digits in given number for ( $i = 0; $i < $length ; $i ++)
{ # Get the ith digit from the
# right side of the number
$sum = $sum + $x ->digit( $i );
} # Print sum print "Sum of digits in $num is $sum." ;
|
Sum of digits in 7821593604 is 45.