471,107 Members | 1,757 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,107 software developers and data experts.

Re: Java exercise

Hello mates,
Just needed a solution on the exercises below.


Exercise 2

A classic problem in introductory programming is the grains of rice on a chess board problem.
Your program should calculate the number of rice grains on the last square of a 64 square chess board given that there is 1 grain of rice on the first square, 2 on the second square, 4 on the third square and so on.
Use a while loop to double the number of rice grains and output the number of grains on the last square. Additionally output the total number of grains.
Check your answer, is it sensible? If not amend your data types.

Exercise 3

Amend program 2 above so that it is a do – while loop. Test to make sure that the same number of rice grains is on the last square and that the total is the same.

Exercise 4

The Fibonacci series is another classic computing problem.
The series is formed by adding two numbers in the series to generate the third. Note the first two are 0 and 1, so to make the make number we add 0 + 1 to give 1. The fourth number is obtained by adding the second and third numbers, 1 + 1 gives 2. So the series looks like:

0 1 1 2 3 5 8 13 21………

Use a loop to output the first 20 Fibonnaci numbers. Set a counter and output a calculation of number of terms in series.

Exercise 5

Write a program which outputs a series of asterisks (* - stars) to form the following pattern below.
Note this requires you to place one loop inside another loop. An example outline would look like this:

while (test condition1)
{
………;
while (test condition2)
{
……….;
}
……….;
}

The output should look like: (this is a short version, you should have 10 lines of stars)

*
**
***
****
*****
*****
Oct 29 '06 #1
5 2810
Ganon11
3,652 Expert 2GB
Have you actually tried solving them yourself?

I'm willing to help you figure these out, but only if you're willing to give it a go first.
Oct 29 '06 #2
Yes i have been trying something and you can view that below.

*/
public class loopEx2
{
public static void main(String[] args)
{
int x=0;
while (x=x+x)
int xint = EasyIn.getint("Please enter first number");
{
x++;
System.out.println(x);
System.out.println("x is =" + x);
System.exit(0);
{
}
{

}
}
----------------------------------------------------------------------------------------------------------------

*/
public class loopEx3
{
public static void main(String[] args)
{
int x=0;
do

int xint = EasyIn.getint("Please enter number");
{
x++;
System.out.println(x);
while (x=x+x)
System.out.println("Total number is =" + x);
System.exit(0);
{
}
{

}
}
-----------------------------------------------------------------------------------------------------------------

//* Student Name: Ebrima Gillen
public class loopEx4
{

{
public static void main(String[] args)
{

int x = 0;
while (x++ < 20)
{
System.out.println(x);
}
System.out.println("x is = " + x);
}
}
Oct 30 '06 #3
r035198x
13,262 8TB
Yes i have been trying something and you can view that below.

*/
public class loopEx2
{
public static void main(String[] args)
{
int x=0;
while (x=x+x)
int xint = EasyIn.getint("Please enter first number");
{
x++;
System.out.println(x);
System.out.println("x is =" + x);
System.exit(0);
{
}
{

}
}
----------------------------------------------------------------------------------------------------------------

*/
public class loopEx3
{
public static void main(String[] args)
{
int x=0;
do

int xint = EasyIn.getint("Please enter number");
{
x++;
System.out.println(x);
while (x=x+x)
System.out.println("Total number is =" + x);
System.exit(0);
{
}
{

}
}
-----------------------------------------------------------------------------------------------------------------

//* Student Name: Ebrima Gillen
public class loopEx4
{

{
public static void main(String[] args)
{

int x = 0;
while (x++ < 20)
{
System.out.println(x);
}
System.out.println("x is = " + x);
}
}
One problem at a time will do please. Now for that rice, notice that this is a gp. The value is therefore 2^63 (9,223,372,036,854,775,808). Now the longest long value(forget the int) in java is 9,223,372,036,854,775,807. So you are off by one with the long. You therefore need something else, double, BigInteger, etc. I would recommend BigInteger as follows.
Expand|Select|Wrap|Line Numbers
  1. import java.math.BigInteger;
  2. public class Rice {
  3.     public static void main (String []args) {
  4.         int n = 1;
  5.         BigInteger sum = new BigInteger(""+1);
  6.         while(n < 64) {
  7.             sum = sum.add(sum);
  8.             n++;
  9.         }
  10.         System.out.println(sum);
  11.         System.out.println(Math.pow(2, 63));//As a check 
  12.     }
  13. }
Oct 30 '06 #4
r035198x
13,262 8TB
One problem at a time will do please. Now for that rice, notice that this is a gp. The value is therefore 2^63 (9,223,372,036,854,775,808). Now the longest long value(forget the int) in java is 9,223,372,036,854,775,807. So you are off by one with the long. You therefore need something else, double, BigInteger, etc. I would recommend BigInteger as follows.
Expand|Select|Wrap|Line Numbers
  1. import java.math.BigInteger;
  2. public class Rice {
  3.     public static void main (String []args) {
  4.         int n = 1;
  5.         BigInteger sum = new BigInteger(""+1);
  6.         while(n < 64) {
  7.             sum = sum.add(sum);
  8.             n++;
  9.         }
  10.         System.out.println(sum);
  11.         System.out.println(Math.pow(2, 63));//As a check 
  12.     }
  13. }
Just realising now that I left out the 64th square.
Expand|Select|Wrap|Line Numbers
  1. import java.math.BigInteger;
  2. public class Rice {
  3.     public static void main (String []args) {
  4.         int n = 1;
  5.         BigInteger sum = new BigInteger(""+1);
  6.         while(n <= 64) {
  7.             sum = sum.add(sum);
  8.             n++;
  9.         }
  10.         System.out.println(sum);
  11.         System.out.println(Math.pow(2, 64));//As a check 
  12.     }
  13. }
Oct 30 '06 #5
Ganon11
3,652 Expert 2GB
Exercise 4

The Fibonacci series is another classic computing problem.
The series is formed by adding two numbers in the series to generate the third. Note the first two are 0 and 1, so to make the make number we add 0 + 1 to give 1. The fourth number is obtained by adding the second and third numbers, 1 + 1 gives 2. So the series looks like:

0 1 1 2 3 5 8 13 21………

Use a loop to output the first 20 Fibonnaci numbers. Set a counter and output a calculation of number of terms in series.

Expand|Select|Wrap|Line Numbers
  1. //* Student Name: Ebrima Gillen 
  2. public class loopEx4
  3. {
  4.  
  5. {
  6.     public static void main(String[] args) 
  7.     {
  8.  
  9.         int x = 0;
  10.         while (x++ < 20) 
  11.         {
  12.             System.out.println(x);
  13.         }
  14.         System.out.println("x is = " + x);
  15.     }
  16. }
Try using an array of size 20 to implemet this. Assign 0 to array[0], 1 to array[1], and use a for loop to calculate the remaining values. Finally, print the entire array.
Oct 30 '06 #6

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

8 posts views Thread by Fu Bo Xia | last post: by
54 posts views Thread by Spammay Blockay | last post: by
manuleka
reply views Thread by manuleka | last post: by
3 posts views Thread by Dave128 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.