Program: Write a program to find perfect number or not.

Description:

A perfect number is a positive integer that is equal to the sum
of its proper positive divisors, that is, the sum of its positive
divisors excluding the number itself. Equivalently, a perfect number
is a number that is half the sum of all of its positive divisors.
The first perfect number is 6, because 1, 2 and 3 are its proper
positive divisors, and 1 + 2 + 3 = 6. Equivalently, the number 6
is equal to half the sum of all its positive divisors:
( 1 + 2 + 3 + 6 ) / 2 = 6.

Code:

package com.java2novice.algos;
public class IsPerfectNumber {
public boolean isPerfectNumber(int number){
int temp = 0;
for(int i=1;i<=number/2;i++){
if(number%i == 0){
temp += i;
}
}
if(temp == number){
System.out.println("It is a perfect number");
return true;
} else {
System.out.println("It is not a perfect number");
return false;
}
}
public static void main(String a[]){
IsPerfectNumber ipn = new IsPerfectNumber();
System.out.println("Is perfect number: "+ipn.isPerfectNumber(28));
}
}

A race condition is a situation in which two or more threads or
processes are reading or writing some shared data, and the final
result depends on the timing of how the threads are scheduled.
Race conditions can lead to unpredictable results and subtle
program bugs. A thread can prevent this from happening by locking
an object. When an object is locked by one thread and another
thread tries to call a synchronized method on the same object,
the second thread will block until the object is unlocked.

Famous Quotations

It is amazing what you can accomplish if you do not care who gets the credit.

-- Harry Truman

About Author

I'm Nataraja Gootooru, programmer by profession and passionate about technologies. All
examples given here are as simple as possible to help beginners. The source code is compiled and tested in my dev environment.

If you come across any
mistakes or bugs, please email me to [email protected] or you can comment on the page.