Download Laboratory No. 0 (Review Lab)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSCI 1101- Computer Science II
Laboratory No. 0 (Review Lab)
SOLUTIONS
Exercise 1
(a)
//Determine if a number is a perfect number
import java.util.Scanner;
public class Ex1a
{
public static void main(String[] args)
{
int num, i, sum=0;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the number: ");
num = keyboard.nextInt();
if(num<=0)
System.out.println("Error. The number has to be a
positive integer");
else
{
for(i=1;i<=num/2;i++)
if (num%i==0)
sum = sum+i;
if (sum==num)
System.out.println(num + " is a perfect number");
else
System.out.println(num + " is not a perfect
number");
}
}
}
(b)
//Determine if a number is a perfect number
import java.util.Scanner;
public class Ex1b
{
public static void main(String[] args)
{
int num;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the number: ");
num = keyboard.nextInt();
if(num<=0)
System.out.println("Error. The number has to be a
positive integer");
else
{
if (isPerfect(num))
System.out.println(num + " is a perfect number");
else
System.out.println(num + " is not a perfect
number");
}
}
public static boolean isPerfect(int n)
{
int i, sum =0;
for(i=1;i<=n/2;i++)
if (n%i==0)
sum = sum+i;
if (sum==n)
return true;
else
return false;
}
}
(c)
//Determine all perfect numbers between 1 and 10000
import java.util.Scanner;
public class Ex1c
{
public static void main(String[] args)
{
System.out.println("Perfect numbers between 1 and
10000");
for(int num=1; num<=10000;num++)
{
if (isPerfect(num))
System.out.println(num);
}
}
public static boolean isPerfect(int n)
{
int i, sum =0;
for(i=1;i<=n/2;i++)
if (n%i==0)
sum = sum+i;
if (sum==n)
return true;
else
return false;
}
}
(d)
//Determine all perfect numbers between 1 and 10000
import java.util.Scanner;
public class Ex1d
{
public static void main(String[] args)
{
System.out.println("Perfect numbers between 1 and
10000");
long startTime, endTime, executionTime;
startTime = System.currentTimeMillis();
for(int num=1; num<=10000;num++)
{
if (isPerfect(num))
System.out.println(num);
}
endTime = System.currentTimeMillis();
executionTime = endTime – startTime;
System.out.println(“Execution time: ” + executionTime
+ “ ms”);
}
public static boolean isPerfect(int n)
{
int i, sum =0;
for(i=1;i<=n/2;i++)
if (n%i==0)
sum = sum+i;
if (sum==n)
return true;
else
return false;
}
}
Exercise 2: Method to find if a given number is prime is given below. Use a strategy similar to
Exercise 1 to complete the code.
public static boolean
{
int count = 2;
boolean result =
while (count < n
{
if (n%count
result
count++;
}
isPrime(int n)
true;
&& prime)
==0)
= false;
return result;
}
Exercise 3:
//Palindrome checker
import java.util.Scanner;
public class Ex3
{
public static void main(String[] args)
{
String sentence;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a line");
sentence = keyboard.nextLine();
sentence = spruceUp(sentence);
if (isReverse(sentence))
System.out.println("Palindrome");
else
System.out.println("Not a palindrome");
}
public static boolean isReverse(String line)
{
int i=0, n = line.length();
boolean result = true;
while(i<n/2 && result)
{
if(line.charAt(i) != line.charAt(n-i-1))
result = false;
i++;
}
return result;
}
public static String spruceUp(String line)
{
String result ="";
int i;
char ch;
for(i=0;i<line.length();i++)
{
ch = line.charAt(i);
if (ch!=' ' && ch!='\t'&& ch!='\''&&
ch!='\"'&&ch!='!'&&ch!=','&&ch!='?'&&ch!=':'&&ch!=';'&&ch!='.'&&
ch!='-')
result = result+ch;
}
result = result.toUpperCase();
return result;
}
}
Related documents