Given a large number n, find if the number is divisible by 29.
Examples :
Input : 363927598 Output : No Input : 292929002929 Output : Yes
A quick solution to check if a number is divisible by 29 or not is to add 3 times of last digit to rest number and repeat this process until number comes 2 digit. The given number is divisible by 29 if the obtained two digit number is divisible by 29.
Number is 348,
Three times of last digit + Rest of the number = 8*3 + 34 = 58
Since 58 is divisible by 29, 348 is also divisible by 29.
// CPP program to demonstrate above method
// to check divisibility by 29.
#include <iostream>
using namespace std;
// Returns true if n is divisible by 29
// else returns false.
bool isDivisible(long long int n)
{
// add the lastdigit*3 to renaming
// number until number comes only
// 2 digit
while (n / 100)
{
int last_digit = n % 10;
n /= 10;
n += last_digit * 3;
}
// return true if number is
// divisible by 29 another
return (n % 29 == 0);
}
// Driver Code
int main()
{
long long int n = 348;
if (isDivisible(n))
cout << "Yes" << endl;
else
cout << "No" << endl;
return 0;
}
// Java program to demonstrate above method
// to check divisibility by 29.
import java.io.*;
class GFG {
// Returns true if n is divisible by 29
// else returns false.
static boolean isDivisible(long n)
{
// add the lastdigit*3 to renaming
// number until number comes only
// 2 digit
while (n / 100 > 0) {
int last_digit = (int)n % 10;
n /= 10;
n += last_digit * 3;
}
// return true if number is
// divisible by 29 another
return (n % 29 == 0);
}
// Driver code
public static void main(String[] args)
{
long n = 348;
if (isDivisible(n))
System.out.println("Yes");
else
System.out.println("No");
}
}
// This code is contributed by vt_m.
# Python3 program to demonstrate above
# method to check divisibility by 29.
# Returns true if n is divisible
# by 29 else returns false.
def isDivisible(n):
# add the lastdigit*3 to renaming
# number until number comes only
# 2 digit
while (int(n / 100)) :
last_digit = int(n % 10)
n = int(n / 10)
n += last_digit * 3
# return true if number is
# divisible by 29 another
return (n % 29 == 0)
# Driver Code
n = 348
if(isDivisible(n) != 0):
print("Yes")
else:
print("No")
# This code is contributed by Smitha Dinesh Semwal.
// C# program to demonstrate above method
// to check divisibility by 29.
using System;
class GFG
{
// Returns true if n is divisible by 29
// else returns false.
static bool isDivisible(long n)
{
// add the lastdigit*3 to renaming
// number until number comes only
// 2 digit
while (n / 100 > 0)
{
int last_digit = (int)n % 10;
n /= 10;
n += last_digit * 3;
}
// return true if number is
// divisible by 29 another
return (n % 29 == 0);
}
// Driver code
public static void Main()
{
long n = 348;
if (isDivisible(n))
Console.Write("Yes");
else
Console.Write("No");
}
}
// This code is contributed by nitin mittal
<?php
// PHP program to demonstrate
// above method to check
// divisibility by 29.
// Returns true if n is
// divisible by 29
// else returns false.
function isDivisible($n)
{
// add the lastdigit*3 to
// remaining number until
// number becomes of only
// 2 digit
while (intval($n / 100))
{
$last_digit = $n % 10;
$n = intval($n / 10);
$n += $last_digit * 3;
}
// return true if number is
// divisible by 29 another
return ($n % 29 == 0);
}
// Driver Code
$n = 348;
if (isDivisible($n))
echo "Yes";
else
echo "No" ;
// This code is contributed by Sam007
?>
<script>
// Javascript program to demonstrate
// above method to check
// divisibility by 29.
// Returns true if n is
// divisible by 29
// else returns false.
function isDivisible(n)
{
// add the lastdigit*3 to
// remaining number until
// number becomes of only
// 2 digit
while (parseInt(n / 100))
{
let last_digit = n % 10;
n = parseInt(n / 10);
n += last_digit * 3;
}
// return true if number is
// divisible by 29 another
return (n % 29 == 0);
}
// Driver Code
let n = 348;
if (isDivisible(n))
document.write("Yes");
else
document.write("No") ;
// This code is contributed by _saurabh_jaiswal
</script>
Output :
Yes
Time Complexity: O(n) where n is given number.
Space Complexity: O(1) as we are not using any extra space.