Programming Exercises Chapter 6: Recursion 14, 15, 16, 17, 20
__MACOSX/._Project 2
Project 2/.DS_Store
__MACOSX/Project 2/._.DS_Store
__MACOSX/Project 2/._20
__MACOSX/Project 2/._16
__MACOSX/Project 2/._17
__MACOSX/Project 2/._15
__MACOSX/Project 2/._14
Project 2/20/.DS_Store
__MACOSX/Project 2/20/._.DS_Store
__MACOSX/Project 2/20/._bin
Project 2/20/.classpath
__MACOSX/Project 2/20/._.classpath
__MACOSX/Project 2/20/._.settings
Project 2/20/.project
20 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
__MACOSX/Project 2/20/._.project
__MACOSX/Project 2/20/._src
Project 2/16/.DS_Store
__MACOSX/Project 2/16/._.DS_Store
__MACOSX/Project 2/16/._bin
Project 2/16/.classpath
__MACOSX/Project 2/16/._.classpath
__MACOSX/Project 2/16/._.settings
Project 2/16/.project
16 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
__MACOSX/Project 2/16/._.project
__MACOSX/Project 2/16/._src
Project 2/17/.DS_Store
__MACOSX/Project 2/17/._.DS_Store
__MACOSX/Project 2/17/._bin
Project 2/17/.classpath
__MACOSX/Project 2/17/._.classpath
__MACOSX/Project 2/17/._.settings
Project 2/17/.project
17 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
__MACOSX/Project 2/17/._.project
__MACOSX/Project 2/17/._src
Project 2/15/.DS_Store
__MACOSX/Project 2/15/._.DS_Store
__MACOSX/Project 2/15/._bin
Project 2/15/.classpath
__MACOSX/Project 2/15/._.classpath
__MACOSX/Project 2/15/._.settings
Project 2/15/.project
15 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
__MACOSX/Project 2/15/._.project
__MACOSX/Project 2/15/._src
Project 2/14/.DS_Store
__MACOSX/Project 2/14/._.DS_Store
__MACOSX/Project 2/14/._bin
Project 2/14/.classpath
__MACOSX/Project 2/14/._.classpath
__MACOSX/Project 2/14/._.settings
Project 2/14/.project
14 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
__MACOSX/Project 2/14/._.project
__MACOSX/Project 2/14/._src
Project 2/20/bin/Recursion.class
public synchronized class Recursion { public void Recursion(); public void TestEverything(); public int fib(int); }
__MACOSX/Project 2/20/bin/._Recursion.class
Project 2/20/bin/Main.class
synchronized class Main { void Main(); public static void main(String[]); }
__MACOSX/Project 2/20/bin/._Main.class
Project 2/20/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/Project 2/20/.settings/._org.eclipse.jdt.core.prefs
Project 2/20/src/.DS_Store
__MACOSX/Project 2/20/src/._.DS_Store
Project 2/20/src/Main.java
Project 2/20/src/Main.java
class
Main
{
public
static
void
main
(
String
[]
args
)
{
Recursion
rec
=
new
Recursion
();
rec
.
TestEverything
();
System
.
out
.
println
(
"This is the end of the program."
);
}
}
__MACOSX/Project 2/20/src/._Main.java
Project 2/20/src/Recursion.java
Project 2/20/src/Recursion.java
public
class
Recursion
{
public
Recursion
()
{
//This is a constructor and do nothing
}
public
void
TestEverything
()
{
System
.
out
.
println
(
"-------------------------------"
);
System
.
out
.
println
(
"Listing fibonacci numbers "
);
for
(
int
n
=
1
;
n
<
46
;
++
n
)
{
System
.
out
.
println
(
"n = "
+
n
);
int
result
=
fib
(
n
);
System
.
out
.
println
(
"output = "
+
result
);
System
.
out
.
println
(
"-------------------------------"
);
}
}
public
int
fib
(
int
n
)
{
if
(
n
==
1
)
return
1
;
else
if
(
n
==
2
)
return
1
;
else
return
fib
(
n
-
1
)
+
fib
(
n
-
2
);
}
}
__MACOSX/Project 2/20/src/._Recursion.java
Project 2/16/bin/Main.class
public synchronized class Main { public void Main(); public static int binarySearch(int[], int, int, int); public static void main(String[]); }
__MACOSX/Project 2/16/bin/._Main.class
Project 2/16/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/Project 2/16/.settings/._org.eclipse.jdt.core.prefs
Project 2/16/src/.DS_Store
__MACOSX/Project 2/16/src/._.DS_Store
Project 2/16/src/Main.java
Project 2/16/src/Main.java
public
class
Main
{
public
static
int
binarySearch
(
int
arr
[],
int
a
,
int
r
,
int
x
)
{
if
(
r
>=
a
)
{
int
mid
=
a
+
(
r
-
a
)
/
2
;
if
(
arr
[
mid
]
==
x
)
return
mid
;
if
(
arr
[
mid
]
>
x
)
return
binarySearch
(
arr
,
a
,
mid
-
1
,
x
);
return
binarySearch
(
arr
,
mid
+
1
,
r
,
x
);
}
return
-
1
;
}
public
static
void
main
(
String
[]
args
)
{
int
arr
[]
=
{
10
,
11
,
12
,
17
,
24
,
78
,
99
};
int
result
=
binarySearch
(
arr
,
0
,
arr
.
length
-
1
,
17
);
if
(
result
==
-
1
)
System
.
out
.
println
(
"Present"
);
else
System
.
out
.
println
(
"Absent "
+
result
);
}
}
__MACOSX/Project 2/16/src/._Main.java
Project 2/17/bin/Recursion.class
public synchronized class Recursion { public void Recursion(); public void TestEverything(); public int product(int, int); }
__MACOSX/Project 2/17/bin/._Recursion.class
Project 2/17/bin/Main.class
synchronized class Main { void Main(); public static void main(String[]); }
__MACOSX/Project 2/17/bin/._Main.class
Project 2/17/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/Project 2/17/.settings/._org.eclipse.jdt.core.prefs
Project 2/17/src/.DS_Store
__MACOSX/Project 2/17/src/._.DS_Store
Project 2/17/src/Main.java
Project 2/17/src/Main.java
class
Main
{
public
static
void
main
(
String
[]
args
)
{
Recursion
rec
=
new
Recursion
();
rec
.
TestEverything
();
System
.
out
.
println
(
"This is the end of the program."
);
}
}
__MACOSX/Project 2/17/src/._Main.java
Project 2/17/src/Recursion.java
Project 2/17/src/Recursion.java
public
class
Recursion
{
public
Recursion
()
{
//This is a constructor and do nothing
}
public
void
TestEverything
()
{
System
.
out
.
println
(
"-------------------------------"
);
System
.
out
.
println
(
"Testing function."
);
for
(
int
a
=
0
;
a
<
10
;
++
a
)
for
(
int
b
=
0
;
b
<
10
;
++
b
)
{
System
.
out
.
println
(
"a = "
+
a
);
System
.
out
.
println
(
"b = "
+
b
);
int
result
=
product
(
a
,
b
);
System
.
out
.
println
(
"output = "
+
result
);
System
.
out
.
println
(
"-------------------------------"
);
}
}
public
int
product
(
int
a
,
int
b
)
{
if
(
b
==
0
)
{
return
0
;
}
else
{
return
a
+
product
(
a
,
b
-
1
);
}
}
}
__MACOSX/Project 2/17/src/._Recursion.java
Project 2/15/bin/Main.class
public synchronized class Main { public void Main(); public static void printCharacters(char[], int, int); public static void main(String[]); }
__MACOSX/Project 2/15/bin/._Main.class
Project 2/15/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/Project 2/15/.settings/._org.eclipse.jdt.core.prefs
Project 2/15/src/.DS_Store
__MACOSX/Project 2/15/src/._.DS_Store
Project 2/15/src/Main.java
Project 2/15/src/Main.java
public
class
Main
{
public
static
void
printCharacters
(
char
arr
[],
int
first
,
int
last
)
{
if
(
first
>
last
)
{
return
;
}
System
.
out
.
print
(
arr
[
first
]
+
" "
);
printCharacters
(
arr
,
first
+
1
,
last
);
}
public
static
void
main
(
String
[]
args
)
{
char
arr
[]
=
{
'U'
,
'n'
,
'i'
,
't'
,
'e'
,
'd'
};
printCharacters
(
arr
,
1
,
arr
.
length
-
1
);
}
}
__MACOSX/Project 2/15/src/._Main.java
Project 2/14/bin/Recursion.class
public synchronized class Recursion { public void Recursion(); public void TestEverything(); public int sum(int, int); }
__MACOSX/Project 2/14/bin/._Recursion.class
Project 2/14/bin/Main.class
synchronized class Main { void Main(); public static void main(String[]); }
__MACOSX/Project 2/14/bin/._Main.class
Project 2/14/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/Project 2/14/.settings/._org.eclipse.jdt.core.prefs
Project 2/14/src/.DS_Store
__MACOSX/Project 2/14/src/._.DS_Store
Project 2/14/src/Main.java
Project 2/14/src/Main.java
class
Main
{
public
static
void
main
(
String
[]
args
)
{
Recursion
rec
=
new
Recursion
();
rec
.
TestEverything
();
System
.
out
.
println
(
"This is the end of the program."
);
}
}
__MACOSX/Project 2/14/src/._Main.java
Project 2/14/src/Recursion.java
Project 2/14/src/Recursion.java
public
class
Recursion
{
public
Recursion
()
{
//This is a constructor and do nothing
}
public
void
TestEverything
()
//Testing function
{
System
.
out
.
println
(
"-------------------------------"
);
System
.
out
.
println
(
"Testing function a>b"
);
for
(
int
a
=
5
;
a
<
10
;
++
a
)
for
(
int
b
=
1
;
b
<
5
;
++
b
)
{
System
.
out
.
println
(
"a = "
+
a
);
System
.
out
.
println
(
"b = "
+
b
);
int
result
=
sum
(
a
,
b
);
System
.
out
.
println
(
"output = "
+
result
);
System
.
out
.
println
(
"-------------------------------"
);
}
}
public
int
sum
(
int
a
,
int
b
)
//Recursion statement for sum
{
if
(
a
==
b
)
{
return
a
;
}
else
{
return
a
+
sum
(
a
-
1
,
b
);
}
}
}