Displaying factors using Recursion

S

smshinde

Hello,
I have written a Recursive function to display integer factors of an
integer.
I am not getting the exit condition for recursion.
Can anyone suggest one.

class Factorize{
static void factorize(int n){
int i=2;
while(true){

if (n%i==0)
{
System.out.print(i+",");
n=n/i;
factorize(n);
}
else i++;
}
}

public static void main(String args[]) {
int n= Integer.parseInt(args[0]);
System.out.println("Genereting Perfect Numbers....");
System.out.print(1+",");
PerfectNumber.factorize(n);
}
}


Output:
C:\sameer>java Factorize 100
Genereting Perfect Numbers....
1,2,2,5,5,
It hangs after this.
 
A

Andrey Kuznetsov

I have written a Recursive function to display integer factors of an
integer.
I am not getting the exit condition for recursion.
Can anyone suggest one.

class Factorize{
static void factorize(int n){
int i=2;
while(true){

if (n%i==0)
{
System.out.print(i+",");
n=n/i;
factorize(n);
}
else i++;
}
}

there are 2 conditions, i must be lesser than or equals to n and n must be
greater than 0.

Andrey
 
S

Stefan Ram

Can anyone suggest one.

public class Main
{
static void printFactorsOf( final int n )
{ boolean found = false; int factor;
for( factor = 2; factor <= n && !( found = n % factor == 0 ); ++factor );
if( found )
{ java.lang.System.out.print( "*" + factor );
printFactorsOf( n / factor ); }}

public static void printTheFactorsOf( final int n )
{ java.lang.System.out.print( "1" );
printFactorsOf( n );
java.lang.System.out.println( "." ); }

public static void main( final java.lang.String[] commandLineArguments )
{ for( int n = 1; n < 20; ++n )
{ java.lang.System.out.print( n + ": " ); printTheFactorsOf( n ); }}}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top