’POLISH’ PEASANT MULTIPLICATION Write a program using a language of your choice, that multiply two integers using the “Polish Peasant Multiplication” method. OBJECTIVE: To compute the product of two integers using the ’polish peasant’ method of multiplication INPUT: A data file containing 5 pairs of positive integers to be multiplied. One pair per line, separated by a single space. USE A FOR LOOP TO CONTROL THE READING OF THE INPUT FILE OUTPUT: A data file containing the input numbers along with their product in a format of your choosing. TEST CASES: Your program should yield the correct product for the following values. Hand in the complete program input and output files for all cases. 75 40 15 999 1 1 0 0 Any two digits of your choosing RESTRICTIONS: Obviously you may NOT use the normal multiplication operator. COMMENTS ARE A MUST!!! The ’Polish Peasant’ multiplication method: The ’polish-peasant’ multiplication algorithm to multiply any two values relies on multiplication and division by two and addition. The scheme unfolds as follows: Write both numbers, side-by-side on a piece of paper: 50 30 The right hand number will be successively divided by two until the answer of such a division yields one (1). Fractional parts of a number (derived by dividing an odd number by 2) are truncated, for example: 50 30 15 7 (the .5 is truncated) 3 (the .5 is truncated) 1 (the .5 is truncated) Each time the right hand number is divided by two, the corresponding left hand number is multiplied by two for example: 50 30 100 15 200 7 400 3 800 1 The next step involves crossing out {those pairs whose right hand value is an even number, for example: 50 30 100 15 200 7 400 3 800 1 To derive the answer of the multiplication} add down the left hand column 50 30 100 15 200 7 400 3 800 1 1500 (50 * 30 = 1500)
CS 401 Assignment ’POLISH’ PEASANT MULTIPLICATION Write a program using a language of your choice, that multiply two integers using the “Polish Peasant Multiplication” method. OBJECTIVE: To compute the product of two integers using the ’polish peasant’ method of multiplication INPUT: A data file containing 5 pairs of positive integers to be multiplied. One pair per line, separated by a single space. USE A FOR LOOP TO CONTROL THE READING OF THE INPUT FILE OUTPUT: A data file containing the input numbers along with their product in a format of your choosing. TEST CASES: Your program should yield the correct product for the following values. Hand in the complete program input and output files for all cases. 75 40 15 999 1 1 0 0 Any two digits of your choosing RESTRICTIONS: Obviously you may NOT use the normal multiplication operator. COMMENTS ARE A MUST!!! The ’Polish Peasant’ multiplication method: The ’polish-peasant’ multiplication
Step by step
Solved in 2 steps