DURGASOFT
if(n==0)
return 0;
else
return (n%2+10*convert(n/2));
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
int n = obj.nextInt();
System.out.println(Demo.convert(n));
}
}
output:
-------
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
8
1000
C:\prakashclasses>java Test
10
1010
C:\prakashclasses>java Test
19
10011
C:\prakashclasses>java Test
556
1000101100
Ex:
n=12
1+10*0 = 1
1+10*1 = 11
0+10*11 = 110
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
61 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
0+10*110 = 1100
version2:
---------
import java.util.*;
class Demo
{
static void convert(int n)
{
if(n==0)
{
System.out.print("");
}
else
{
convert(n/2);
System.out.print(n%2);
}
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
int n = obj.nextInt();
Demo.convert(n);
}
}
Logic:
static void convert(int n)
{
if(n!=0)
{
convert(n/2);
System.out.print(n%2);
}
}
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
62 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
11. Implement a program to find nth fib number.
-----------------------------------------------
0, 1, 1, 2, 3, 5, and so on
f(n)=n if n=0 or n=1
f(n)=f(n-1)+f(n-2) if n>1
f(0) = 0
f(1) = 1
f(2) = f(2-1)+f(2-2) = f(1) + f(0) = 1 + 0 = 1
f(3) = f(3-1)+f(3-2) = f(2) + f(1) = 1 + 1 = 2
f(4) = f(4-1)+f(4-2) = f(3) + f(2) = 2 + 1 = 3
and so on
f(n) = f(n-1) + f(n-2)
Ex:
---
import java.util.*;
class Demo
{
static int fib(int n)
{
if(n==0 || n==1)
return n;
else
return fib(n-1)+fib(n-2);
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
int n = obj.nextInt();
for(int i=0;i<n;i++){
System.out.print(Demo.fib(i)+", ");
}
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
63 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
}
}
output:
-------
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
5
0, 1, 1, 2, 3,
C:\prakashclasses>java Test
10
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
12) Implement a program to find LCM of two numbers?
---------------------------------------------------
Least/Lowest Common Multiple
import java.util.*;
class Demo
{
static int com=1;
static int lcm(int n1,int n2)
{
if(com%n1==0 && com%n2==0)
return com;
com++;
lcm(n1,n2);
return com;
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter n1 value:");
int n1=obj.nextInt();
System.out.println("Enter n2 value:");
int n2=obj.nextInt();
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
64 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
System.out.println(Demo.lcm(n1,n2));
}
}
output:
-------
C:\prakashclasses>javac Test.java
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
Enter n1 value:
4
Enter n2 value:
6
12
C:\prakashclasses>java Test
Enter n1 value:
6
Enter n2 value:
9
18
C:\prakashclasses>java Test
Enter n1 value:
5
Enter n2 value:
10
10
13) Implement a program to find HCF/GCD of the given two numbers
----------------------------------------------------------------
Highest Common Factors
Greatest Common Divisior
import java.util.*;
class Demo
{
static int gcd(int a,int b)
{
while(a!=b)
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
65 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
{
if(a>b)
return gcd(a-b,b);
else
return gcd(a,b-a);
}
return a;
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter n1 value:");
int n1=obj.nextInt();
System.out.println("Enter n2 value:");
int n2=obj.nextInt();
System.out.println(Demo.gcd(n1,n2));
}
}
output:
-------
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
Enter n1 value:
4
Enter n2 value:
6
2
14) Implement a program to find reverse of the given string using recursion?
----------------------------------------------------------------------------
import java.util.*;
class Demo
{
static String strrev(String s)
{
if(s==null || s.length()<=1)//BC
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
66 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
return s;
return strrev(s.substring(1))+s.charAt(0);
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter any String:");
String s = obj.nextLine();
System.out.println(Demo.strrev(s));
}
}
ouput:
------
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
Enter any String:
abc
cba
15) Implement a program to remove the given character from a string?
--------------------------------------------------------------------
"abcde" ----> a|b|c|d|e
"axbxcxdxex" ---> a|x|b|x|c|x|d|x|e|x
x
if ch is not x then
return strrev(s.substring(1))+s.charAt(0);
else
return strrev(s.substring(1));
"axbxcxdxex" ---> a|b|c|d|e
L to R ---> R to L
"axbxcxdxex" ---> e|d|c|b|a
R to L --------> R to L
abcde
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
67 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
import java.util.*;
class Demo
{
static String nox(String s,int index)
{
if(index<0) //Base Condition
return "";
if(s.charAt(index)=='x') //RC1: if char is 'x', i.e. remove
return nox(s,index-1); //Recursion, ignoring char
else //RC2: if char is not 'x', i.e. it should be stored
return nox(s,index-1)+s.charAt(index); //recursion, store char in
stack
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter any string:");
String s = obj.nextLine();
System.out.println(Demo.nox(s,s.length()-1));//axbx,4-1=3
}
}
output:
-------
C:\prakashclasses>java Test
Enter any string:
abcd
abcd
C:\prakashclasses>java Test
Enter any string:
axbcd
abcd
C:\prakashclasses>java Test
Enter any string:
axbxcd
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
68 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
abcd
C:\prakashclasses>java Test
Enter any string:
axbxcxdx
abcd
16) Implement a program to return a new String, where all the adjacent characters
are seperated by a "*".
-------------------------------------------------------------------------------------
"hello" ----> "h*e*l*l*o"
"abc" ------> "a*b*c"
"ab" -------> "a*b"
static String newS(String s,int index)
{
if(index<1)
return s.charAt(index);
return newS(s,index-1)+"*"+s.charAt(index);
}
Ex:
import java.util.*;
class Demo
{
static String newS(String s,int index)
{
if(index<1)
return s.substring(0,index+1);//s.charAt(index)+"";
return newS(s,index-1)+"*"+s.charAt(index);
}
}
class Test
{
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter any string:");
String s = obj.nextLine();
System.out.println(Demo.newS(s,s.length()-1));//abc ---> a*b*c
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
69 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com
DURGASOFT
}
}
output:
-------
C:\prakashclasses>javac Test.java
C:\prakashclasses>java Test
Enter any string:
abcdef
a*b*c*d*e*f
17) Implement a program to return new string where identical adjcent chars are sep
by *
---------------------------------------------------------------------------------------
Ex:
abc ----> abc
hello --> hel*lo
xxyy ---> x*xy*y
static String newS(String s,int index)
{
if(index<1)
return s.substring(0,index+1);
if(s.charAt(index-1)==s.charAt(index))
return newS(s,index-1)+"*"+s.charAt(index);
else
return newS(s,index-1)+s.charAt(index);
}
import java.util.*;
class Demo
{
static String newS(String s,int index)
{
if(index<1)
return s.substring(0,index+1);
if(s.charAt(index-1)==s.charAt(index))
return newS(s,index-1)+"*"+s.charAt(index);
else
DURGASOFT, # 202, 2nd Floor, HUDA Maitrivanam, Ameerpet, Hyderabad - 500038,
70 88 85 25 26 27, 72 07 21 24 27/28 | www.durgasoftonline.com
Maii: durgasoftonline@gmail.com