Loops :: cpt


The Swedish Farmer System is a process for determining the product of 2 positive integers 
using only multiplication by two, division by two and addition. This algorithm can be stated 
as follows: Write each number (the multiplier and the multiplicand) at the head of the column. 
Double the number in the first column, and halve the number in the second column. If the 
number in the second column is odd, ignore the remainder when dividing. If the number in the 
second column is even, cross out that entire row after dividing. Keep doubling, halving and  
crossing out until the number in the second column is 1. Add up the remaining numbers in the 
first column. The total is the product of your original numbers.Save as XXXXLoops. Here is an 
example,determining the product of 57 x 86 = 4902 

57		86  (cross out row, do not show in output)
114		43
228		21
456		10  (cross out row, do not show in output)
912		5
1824		2  (cross out row, do not show in output)
3648		1
4902

Write a class that prompts the user for a multiplier and a multiplicand and uses this algorithm 
to determine the product. Your class must also show the intermediate steps the algorithm takes 
by printing out any row where an addition is required in the first column. Your program should 
continue prompting the user for input until 2 zeros are entered. This should end the program. 
Negatives values entered should be rejected. If one value is zero and the other is positive, 
the program should give the correct result without using the algorithm. Your program should 
function as shown below: 
	
Multiplier: 57
Multiplicand: 86

114		43
228		21
912		5
3648		1
Product: 4902

Multiplier: 48
Multiplicand: -36
Values must not be negative

Multiplier: 27
Multiplicand: 0
Product: 0

Multiplier: 0
Multiplicand: 0

	
To view rubric click here