Skip to content

Instantly share code, notes, and snippets.

@aadipoddar
Created April 7, 2022 14:21
Show Gist options
  • Save aadipoddar/b336ac73cb8fd80046aea98e61dba027 to your computer and use it in GitHub Desktop.
Save aadipoddar/b336ac73cb8fd80046aea98e61dba027 to your computer and use it in GitHub Desktop.
Check Perfect Number Using Recursion
/*
Write a program to accept a number
and print the number is a perfect number or not using a recursion
and print the result.
INPUT: 6
OUTPUT: 6 is a perfect number
*/
import java.util.Scanner;
class PerfectNumber {
int sum = 0;
boolean isPerfect(int n, int i) {
if (i == n) {
if (sum == n)
return true;
else
return false;
}
if (n % i == 0)
sum += i;
return (isPerfect(n, i + 1));
}
public static void main(String[] args) {
PerfectNumber perfectNumber = new PerfectNumber();
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number");
if (perfectNumber.isPerfect(sc.nextInt(), 1))
System.out.println("Number is a perfect number");
else
System.out.println("Number is not a perfect number");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment