Skip to main content

Abundant Number Program Solution (Java) | Recursive Technique | ISC level

 /**

 * Write a Java program to print all the possible Abundant numbers (integers) between

M and N ( 1 > M,N < 100000) .

In number theory, an abundant number is a number for which the sum of its proper

divisors are greater than the number itself.

The first few abundant numbers are:

12, 18, 20, 24, 30, 36, 40, 42, 48, 54, 56, 60, 66, 70, 72, 78, 80, 84, 88, 90, 96, 100, 102,...

The integer 12 is the first abundant number. Its proper divisors are 1, 2, 3, 4 and 6

for a total of 16.

 */

import java.util.*;

public class AbundantNum

{

    public static int factors(int x, int f) //recursive function to find the sum of factors of the number

    {

        if(x==f)

            return 0;

        else if(x%f==0)

            return f+factors(x,f+1);

        else

            return factors(x,f+1);

    }


    public static void main()

    {

        Scanner sc=new Scanner(System.in);

        System.out.print("\nEnter the lower limit : ");

        int M=sc.nextInt();

        System.out.print("\nEnter the upper limit : ");

        int N=sc.nextInt();

        if(M>1 && M<100000 && N>1 && N<100000)

        {

            for(int i=M;i<=N;i++)

            {

                if(factors(i,1)>i)

                    System.out.print(i+", ");

            }

        }

        else

        {

            System.out.println("OUT OF RANGE");

            main();

        }

    } // end of main

} // end of class

Comments

Popular posts from this blog

Program to perform to certain tasks using numbers | C programming

     1.          Q.1      WAP in C/ C++/ java to perform the following tasks : a.       Accept two numbers from the user( a and b). b.       Print the numbers. c.        Print the smallest number. d.       Calculate their :                                i.       Summation (a+b)                               ii.       Subtract them (a-b)                              iii.       Multiply them (a*b)                              iv.  ...

Neon Number | C programming

 Q.8     WAP in C/ C++/ java to check whether the number is a Neon number or not. Input: 9 Output: Neon Number Explanation: the square is 9*9 = 81 and the sum of the digits of the square ( 8+1) is 9. Solution :  #include <stdio.h> int   sumofdigits ( int  x)  // function to compute sum of digits {      int   sum = 0 ;      while (x > 0 )     {          sum += x % 10 ;         x = x / 10 ;     }      return   sum ; } int   main () {      int   n ;         printf ( " \n Enter any positive number : " );      scanf ( " %d " ,  & n );      if  ( n < 0 )     { ...

Special Number | C programming

 Q.9    WAP in C/ C++/ java to check whether the number is a Special Number or not. Definition: If the sum of the factorial of digits of a number (N) is equal to the number itself, the number (N) is called a  special  number. INPUT : 145     The digits of the number are: 1, 4, 5 Factorial of digits: 1! = 1 4! = 4*3*2*1 = 24 5! = 5*4*3*2*1 = 120 Sum of factorial of digits = 1 + 24 + 120 = 145             Hence, the given number 145 is a special number. Solution :  #include   <stdio.h> int   factorial ( int  x)  // function to return factorial of the number {      int   f   =   1 ;      for  ( int   i   =   1 ;  i   <=  x;  i ++ )     {     ...