943,162 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 2813
  • Java RSS
You are currently viewing page 1 of this multi-page discussion thread
Nov 20th, 2009
0

perfect numbers . . !

Expand Post »
Can any one help me with this exercise . . !
I did not understnd it . ?





A number is called a proper divisor of N if M < N and M divides N. A positive integer is called perfect if it is the sum of its positive proper divisors. For example, the positive proper divisors of 28 are 1, 2, 4, 7, and 14 and 1+2+4+7+14=28. Therefore, 28 is perfect. Write a program to display the first 4 perfect integer ..
Last edited by alreem; Nov 20th, 2009 at 5:26 pm.
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009
Nov 20th, 2009
0
Re: perfect numbers . . !
Click to Expand / Collapse  Quote originally posted by alreem ...
Can any one help me with this exercise . . !
I did not understnd it . ?





A number is called a proper divisor of N if M < N and M divides N. A positive integer is called perfect if it is the sum of its positive proper divisors. For example, the positive proper divisors of 28 are 1, 2, 4, 7, and 14 and 1+2+4+7+14=28. Therefore, 28 is perfect. Write a program to display the first 4 perfect integer ..
you did not understand?

It gives a good example.

I think the first perfect integer is 6 because positive proper divisors are 1 2 3 and 1+2+3 = 6.

12 is not perfect cause 1+2+3+4+6 = 16 > 12

I even calculated the numbers from 1 to 20 in my mind, and found none.

You got it?
Reputation Points: 12
Solved Threads: 8
Junior Poster
gangsta1903 is offline Offline
111 posts
since May 2008
Nov 20th, 2009
0
Re: perfect numbers . . !
I think this is a homework problem.....I did the coding and the first 4 perfect numbers are:

The perfect number is 6
The perfect number is 28
The perfect number is 496
The perfect number is 8128


Anyways, I will not give away the solution and rob you of your valuable education, however I will give the pseudo code......hope you can do the rest.....
Java Syntax (Toggle Plain Text)
  1. class name
  2. {
  3. public static void main(String[] args)
  4. {
  5. initialize a count variable to 0 this will help you to count to first 4 perfect numbers
  6.  
  7. use for loop to check first 10000 numbers from which to get the first 4 perfect numbers starting from i=1
  8.  
  9. {
  10. initialize sum variable
  11. use for loop from variable j=1 to check till i
  12.  
  13. {
  14. check divisibility
  15. find sum of j's if i is divisble by j
  16. }
  17.  
  18. use if statement to check for perfect number
  19. and if count is less than 5
  20. {
  21. print the perfect number and increase count by one
  22. }
  23. }
  24.  
  25. }
  26.  
  27. }
  28.  
Reputation Points: 10
Solved Threads: 0
Light Poster
redmaverick is offline Offline
35 posts
since Feb 2009
Nov 21st, 2009
0
Re: perfect numbers . . !
I got it ..
I will do it know .. if I can =)

Thanx for yours explanation ..
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009
Nov 21st, 2009
0
Re: perfect numbers . . !
Java Syntax (Toggle Plain Text)
  1. package perfectnumbers;
  2. import java.util.Scanner;
  3. public class Main {
  4.  
  5. public static void main(String[] args) {
  6. Scanner read = new Scanner(System.in);
  7. int num,count,sum;
  8.  
  9. System.out.printf(" Enter ur number: ");
  10. num = read.nextInt();
  11.  
  12. count=0;
  13. for( int m=1 ; m <10000; m++)
  14. {
  15. sum=0;
  16. for ( int n=1; n<m; m++ )
  17. {
  18. if ( m %n == 0 )
  19. sum = sum + n;
  20. else;
  21. }
  22. if ((num / m) && ( count < 5))
  23. System.out.println (" The perfect number is: ");
  24. else;
  25. }
  26. count ++;
  27. }
  28.  
  29. }
  30. }
  31. }
Last edited by alreem; Nov 21st, 2009 at 6:43 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009
Nov 21st, 2009
-1
Re: perfect numbers . . !
It's not true . !
Last edited by alreem; Nov 21st, 2009 at 6:45 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009
Nov 21st, 2009
0
Re: perfect numbers . . !
Click to Expand / Collapse  Quote originally posted by alreem ...
It's not true . !
Java Syntax (Toggle Plain Text)
  1. Scanner read = new Scanner(System.in);
  2.  
  3. System.out.printf(" Enter ur number: ");
  4.  
  5. num = read.nextInt();

There is no need to take input from the user. You are checking for perfect numbers from 1 to 10000.


also to check for perfect number you should use the condition

sum==m (i.e 1+2+3 = = 6)
Reputation Points: 10
Solved Threads: 0
Light Poster
redmaverick is offline Offline
35 posts
since Feb 2009
Nov 21st, 2009
0
Re: perfect numbers . . !
Java Syntax (Toggle Plain Text)
  1. count=0;
  2. for( int m=1 ; m <10000; m++)
  3. {
  4. sum=0;
  5. for ( int n=1; n<m; m++ )
  6. {
  7. if ( m %n == 0 )
  8. sum = sum + n;
  9. else;
  10. }
  11. if ((num / m) && ( count < 5))
  12. System.out.println (" The perfect number is: ");
  13. else;
  14. }
  15. count ++;
  16. }


like this . . ?
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009
Nov 21st, 2009
0
Re: perfect numbers . . !
try something like this

Java Syntax (Toggle Plain Text)
  1. count=0;
  2. for( int m=1 ; m <10000; m++)
  3. {
  4. sum=0;
  5. for ( int n=1; n<m; m++ )
  6. {
  7. if ( m %n == 0 )
  8. sum = sum + n;
  9. else;
  10. }
  11. if ((sum==m) && ( count < 5))
  12. System.out.println (" The perfect number is: ");
  13. else;
  14. count ++;
  15.  
  16. }
  17.  
  18. }
Reputation Points: 10
Solved Threads: 0
Light Poster
redmaverick is offline Offline
35 posts
since Feb 2009
Nov 22nd, 2009
0
Re: perfect numbers . . !
does not work . . !


it gives me :

the perfect number is:
the perfect number is:
the perfect number is:
the perfect number is:
Reputation Points: 10
Solved Threads: 0
Newbie Poster
alreem is offline Offline
24 posts
since Nov 2009

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Slot Machine
Next Thread in Java Forum Timeline: Trouble with BreezySwing





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC