Starting from:
$30

$24

Lab 1 Solution

Section Readings: 1.1




Problem 1. (Euclid’s Algorithm) Implement the static method gcd() in Euclid.java such that it uses Euclid’s algorithm (see page 4 of text) to compute and return the greatest common divisor (GCD) of the arguments p and q.




java Euclid 105 24



3




java Euclid 1111111 1234567



1




Problem 2. (Factorial) Implement the static method ln() in Factorial.java such that it computes the value of ln(N!) recursively. Recall that N! = 1 2 (N 1) N, 0! = 1, and ln(x + y + z) = ln(x) + ln(y) + ln(z).




java Factorial 100 363.7393755555636



java Factorial 1000 5912.128178488171



Problem 3. (Histogram) Implement the static method frequency() in Histogram.java that takes an array a[] of int values and an integer M as arguments and returns an array of length M whose ith entry is the number of times the integer i appears in the argument array.




java Histogram 0-0 1-3 2-2 3-2 4-4 5-2 6-0 7-3 8-3 9-3



























10-4




11-4




Problem 4. (Whitelist) Add to the BinarySearch test client the ability to respond to a second argument: + to print numbers from standard input that are not in the whitelist,




to print numbers that are in the whitelist.















Spring 2015 1 of 2
CS210 Lab 1 Swami Iyer










java BinarySearch tinyW.txt + < tinyT.txt



50




99




13




java BinarySearch tinyW.txt - < tinyT.txt



23




10




18




23




98




84




11




10




48




77




54




98




77




77




68




Files to Submit:




Euclid.java



Factorial.java



Histogram.java



BinarySearch.java











































































Spring 2015 2 of 2

More products