Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In this assignment, you will write a Go program to solve a simple mathematical puzzle. The program must efficiently find the binary operators that complete

In this assignment, you will write a Go program to solve a simple mathematical puzzle. The program must efficiently find the binary operators that complete the equation. For this problem the only operators you need to consider are addition, subtraction, multiplication, and division (when the divisor is non-zero and the remainder is zero). For example, given 1 O 2 = 3 the only operator that works to put in the circle is "+". So 1 + 2 = 3 solves the problem. For simplicity we will not use the normal operator precedence. Instead there will be no precedence thus expressions are evaluated strictly from left to right. For example, given 1 O 2 O 3 = 1, your goal is to find two operators that satisfy the equation. The solution would be 1 + 2 / 3 = 1. Notice that this is computed as (1+2) / 3 = 1 and not 1 + (2/3). Generating your own example problems is easy. Write an equation (being careful to evaluate it strictly left to right) and then remove the operators and supply that to your program.

Write a Go program to do the following: Reads problems from STDIN as a list of positive integers separated by whitespace, one problem per line.

Output a solution to the problem to STDOUT that makes the equation valid. Each +, -, *, /, and = must be passed by one space on each side.

If no solution is found simply output a blank line to STDOUT. Errors in parsig STDIN exit with a non-zero status code after writing the error to STDERR.

Requirements:

Your program must use recursion to search for solutions. Specifically, your program should break the problem down into a set of smaller problems to solve. This is known as Dynamic Programming. Do not use any library other than the Go standard library. The source code must compile with the most recent version of the Go compiler. The program must not panic under any circumstances. If you program is provided with the flag -all then find all solutions to the problem. When outputting multiple solutions, separate them by a comma followed by a space.

example 1:

sample input: 3 1 4

expected output: 3+1=4

example 2:

sample input: 5 4 2 22

expected output: 5*4+2=22

With multiple solutions it looks like:

go run . -all

7+3-3=7, 7-3+3=7, 7*3/3=7 Note: please post a picture of the output in Chegg. I have seen a question like this in Chegg but that is not working.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Microsoft SQL Server 2012 Unleashed

Authors: Ray Rankins, Paul Bertucci

1st Edition

0133408507, 9780133408508

More Books

Students also viewed these Databases questions

Question

Which team solution is more likely to be pursued and why?

Answered: 1 week ago

Question

4. I can tell when team members dont mean what they say.

Answered: 1 week ago