Recursion Programs Solutions APC
1.
int count(int n)
{
if(n==0)
return 1;
return 1+count(n/10);
}
2.
void dectobin(int n,int r){
if(n==0)
{
System.out.println("Binary is:"+r);
}
int d=n%2;
r=r*10+d;
dectobin(n/2,r);
}
3.
int count(int n){
if(n==0)
return 0;
int d=n%2;
return ((d==1)?1:0)+count(n/2);
}
void check(int n){
if(count(n)==2)
System.out.println("Prime number");
else
System.out.println("Non-Prime number");
}
4.
int fmin(int arr[],int n )
{
if(n==0)
return 999999;
return Math.min(arr[n-1],fmin(arr,n-1));
}
5.
int fsum(int arr[],int n )
{
if(n==0)
return 0;
return arr[n-1]+fsum(arr,n-1);
}
6.
void reverse(String n,String r)
{
if(n.length()==0)
{
System.out.println("Reverse of the number is:"+r);
return;
}
return reverse(n.substring(n.length()-1),r+n.charAt(n.length()-1));
}
7.
void primefact(int n,int i)
{
if(n>=i)
{
System.out.println(i);
return;
}
if(n%i==0)
{
System.out.println(i);
primefact(n/i,i);
}
primefact(n,i+1);
}
8.
void hailstone(int n){
if(n==1){
System.out.println(n);
return;
}
if(n%2==0){
System.out.println(n/2);
hailstone(n/2);
}
else{
System.out.println(3*n+1);
hailstone(3*n+1);
}
}