Q. Write a program to check whether the given number is Perfect Number or not.
Perfect Number :- Perfect number, a positive integer equal to the sum of its proper divisors. The smallest Perfect number is 6, which is the sum of 1, 2 and 3.
For Example:-
Input = 28
Output = 28 is the Perfect Number.
So as we can see that the divisor of 28 is 1, 2, 4, 7, 14, so the sum of all the divisors is 28 (1 + 2 + 4 + 7 + 14 = 28). Therefore, 28 is the Perfect number.
Perfect Number Algorithm
START Step 1 - Input the number. Step 2 - Find all divisors of the number except the number itself. Step 3 - If the sum of all divisors of the number is equal to the number, then return true. Else, return false. STOP
Perfect Number Program
#include <stdio.h> int main() { int num=28,i; int sum; sum=0; for(i=1; i< num;i++) { if(num%i==0) sum+=i; } if(sum==num) printf("%d is a perfect number.",num); else printf("%d is not a perfect number.",num); return 0; }
#include <bits/stdc++.h> using namespace std; int main(){ int num=28,i=1,sum=0; while(i< num){ if(num%i==0) sum=sum+i; i++; } if(sum==num) cout << i << " is a perfect number\n"; else cout << i << " is not a perfect number\n"; return 0; }
public class LFC { public static void main(String[] args) { int i, num=28, Sum = 0 ; for(i = 1 ; i < num ; i++) { if(num % i == 0) { Sum = Sum + i; } } if (Sum == num) { System.out.format("% d is a Perfect Number", num); } else { System.out.format("% d is NOT a Perfect Number", num); } } }
# Python Program to find Perfect Number using For loop num = 28 Sum = 0 for i in range(1, num): if(num % i == 0): Sum = Sum + i if (Sum == num): print(" %d is a Perfect Number" %num) else: print(" %d is not a Perfect Number" %num)
using System; namespace LFC { class LFC { static void Main(string[] args) { int num=28,sum=0,n; n = num; for (int i = 1; i < num;i++) { if (num % i == 0) { sum=sum + i; } } if (sum == n) { Console.WriteLine(n+" is a perfect number"); Console.ReadLine(); } else { Console.WriteLine(n+" is not a perfect number"); Console.ReadLine(); } } } }
function check_perfectnumber($num) { // To store the sum $sum = 0; // Traversing through each number // In the range [1,N) for ($i = 1; $i < $num; $i++) { if ($num % $i == 0) { $sum = $sum + $i; } } // returns True is sum is equal // to the original number. return $sum == $num; } // Driver's code $num = 28; if (check_perfectnumber($num)) echo "$num is a Perfect Number"; else echo "$num is not a Perfect Number";
#include <stdio.h> int main() { int num=28,i; int sum; sum=0; for(i=1; i< num;i++) { if(num%i==0) sum+=i; } if(sum==num) printf("%d is a perfect number.",num); else printf("%d is not a perfect number.",num); return 0; }
Output
28 is a perfect number.
Recommended Programs
Program to check Armstrong Number.Program to check Leap Year.