Sciences AllOther Interview Questions
Questions Answers Views Company eMail

Project 2 - Magic Squares design2.txt - due 12/7 before 11:59 PM project2 - due 12/13, before 11:59 PM Orginally by Sue Evans Hit the space bar for next page The Objectives The purpose of this assignment is to give you practice with: recursion using command line arguments using the timing feature and file handling. The Background According to The Math Forum @ Drexel University, A Magic Square is an arrangement of the numbers 1 to n2 in an n x n matrix with each number occuring exactly once, and such that the sum of the entries of any row, any column, or any main diagonal is the same. It is not hard to show that this sum is n(n2 + 1)/2. The simplest magic square is the 1 x 1 magic square whose only entry is the number 1. 1 The next simplest is the 3 x 3 magic square. (8 + 1 + 6) or 3(32 + 1)/2 This is also just ONE of many examples for a 3 x 3 Magic Square!! This 3 x 3 square is definitely magic and satisfies the definition given above. There are 8 different arrangements of entries in a 3 x 3 matrix that fit the definition of a magic square. There are also magic squares of size 4 x 4, 5 x 5, etc. The Background - Continued For small n, say n <= 3, you could obviously sit down with pencil and paper and discover a magic square in a fairly short amount of time. Take a few minutes now and do that, remembering that each of the numbers, 1 through n2, appear only once in the square. Now try it for n = 4 ... Oh, there has to be a better way. :) Of course, the computer doesn't have a patience problem. It can solve the problem for us by using the brute force method. This means that the computer will accomplish its task by trying every single possible arrangement of the numbers in a square and check each of the resulting squares to see if it's a magic square. [6, 2, 7, 5, 4, 8, 3, 9, 1] [4, 2, 7, 6, 5, 8, 3, 9, 1] [7, 4, 2, 6, 5, 8, 3, 9, 1] ... The Task Your assignment will be to determine all of the magic squares when given an n, display permutations that match the magic squares to the screen AND write it to a file. You will only test when n == 3!!! But code it for n of ANY number!! It turns out that finding the magic squares for n >= 4 takes too long for us to run it on the shared machines (linux1, 2 & 3) Since if n == 1, the square is 1 (too easy!!) and since for n == 2 there is no answer!! Your program must come up with every possible arrangement (permutation) of numbers within the square. These are known as the permutations of that list of numbers. Each permutation needs to be checked to see if it has formed a magic square. Program Requirements Your program must: use command line arguments. At the command line the user must enter (in this order): the name of the executable file, n (which will ALWAYS be 3, but again could be run with other numbers) and the name of the output file in which to write the squares. use a recursive permute to give all of the permutations of the square. In other words, your function called "permute", must be a recursive function. So for each permutation, you should check to see if it is a magic square, display it and write it to the file write only the unique magic squares to the SCREEN and FILE. No duplicates allowed. HINT: Let your program produce duplicates first, then see how you can refrain from writing the duplicates. Then modify your code. use a list of size n2. The code for the recursive permute function will be much easier to write if you store the numbers in a list rather than a two-dimensional list (or array) of size n x n. How you print the data is not related. [6, 2, 7, 5, 4, 8, 3, 9, 1, ....] (size to n2) [4, 2, 7, 6, 5, 8, 3, 9, 1, ....] [7, 4, 2, 6, 5, 8, 3, 9, 1, ....] ... close any files that you have opened as soon as you have finished using them. Time how long your program takes to find the magic square and print that time at the end of the SAME file. Sample Run Here is a sample of output of this program. Please note that the sample output only shows what is expected from your program if the user is actually entering everything as instructed. This is not a test of the program at all, but just a sample for your clarification. 2 7 6 9 5 1 4 3 8 2 9 4 7 5 3 6 1 8 4 3 8 9 5 1 2 7 6 4 9 2 3 5 7 8 1 6 6 1 8 7 5 3 2 9 4 6 7 2 1 5 9 8 3 4 8 1 6 3 5 7 4 9 2 8 3 4 1 5 9 6 7 2 Total running time: 4.76 seconds.

2527

My question is. How many types of REGISTER? and define its all types of REGISTER? plzzz

1753

what is multithreading

1531

I am B.Sc (Electronics Hns) from CU and MSc [Comp Science] from SMU. Working as software developer in leading MNC for 7 years and also visited USA for 2.5 years. But now want to come out from IT industry. Can any one help me on what are the different options I can try any from where I can get all those news.

1686

cant i ask health related questions? if so how?

1556

Paano po ba nabubuo ang eclipse?

1712

what is the difference between concept and theory

2568

What is entrepreneurship in sociology

1786

bakit po nagiging kulay blue ang buwan?

1965

HOW TO CUT A CAKE IN 8 PIECES IN 1 STROKE?

1779

bakit,kailan po ba lumalaki at lumiliit ang tubig sa dagat??at saan naman po ito kumukuha ng tubig para ito ay lalaki??

3378

How doe's the storm make in the sky.

1686

is it possible that the all water IN WORLD will be LOST???

1602

write a program in c language that is able to compute the determinant of any 5*5 matrix from your program with at least five examples and print the result

1 3203

WIKILEAKS, a whistleblower website an international organisation base in a)USA b)UK c)SWEDEN d) NORWAY

High Court,

1 5023


Post New Sciences AllOther Questions

Un-Answered Questions { Sciences AllOther }

What is the difference between limit of quantification and limit of quantitation?

2340


how will be maintain vaccum by an steam ejector system? what will be happen when steam turbine vaccum is down? what is the blow down ratio?

1949


an iron ball bounce more than a cricket ball?

1781


briefly explain how to use try and catch

1513


what are essential components of digital computer? discuss the function of each components. draw the block diagram of a computer showing its essential components

11294






why the heat energy is transferred when the temperature difference is there?

1163


Project 2 - Magic Squares design2.txt - due 12/7 before 11:59 PM project2 - due 12/13, before 11:59 PM Orginally by Sue Evans Hit the space bar for next page The Objectives The purpose of this assignment is to give you practice with: recursion using command line arguments using the timing feature and file handling. The Background According to The Math Forum @ Drexel University, A Magic Square is an arrangement of the numbers 1 to n2 in an n x n matrix with each number occuring exactly once, and such that the sum of the entries of any row, any column, or any main diagonal is the same. It is not hard to show that this sum is n(n2 + 1)/2. The simplest magic square is the 1 x 1 magic square whose only entry is the number 1. 1 The next simplest is the 3 x 3 magic square. (8 + 1 + 6) or 3(32 + 1)/2 This is also just ONE of many examples for a 3 x 3 Magic Square!! This 3 x 3 square is definitely magic and satisfies the definition given above. There are 8 different arrangements of entries in a 3 x 3 matrix that fit the definition of a magic square. There are also magic squares of size 4 x 4, 5 x 5, etc. The Background - Continued For small n, say n <= 3, you could obviously sit down with pencil and paper and discover a magic square in a fairly short amount of time. Take a few minutes now and do that, remembering that each of the numbers, 1 through n2, appear only once in the square. Now try it for n = 4 ... Oh, there has to be a better way. :) Of course, the computer doesn't have a patience problem. It can solve the problem for us by using the brute force method. This means that the computer will accomplish its task by trying every single possible arrangement of the numbers in a square and check each of the resulting squares to see if it's a magic square. [6, 2, 7, 5, 4, 8, 3, 9, 1] [4, 2, 7, 6, 5, 8, 3, 9, 1] [7, 4, 2, 6, 5, 8, 3, 9, 1] ... The Task Your assignment will be to determine all of the magic squares when given an n, display permutations that match the magic squares to the screen AND write it to a file. You will only test when n == 3!!! But code it for n of ANY number!! It turns out that finding the magic squares for n >= 4 takes too long for us to run it on the shared machines (linux1, 2 & 3) Since if n == 1, the square is 1 (too easy!!) and since for n == 2 there is no answer!! Your program must come up with every possible arrangement (permutation) of numbers within the square. These are known as the permutations of that list of numbers. Each permutation needs to be checked to see if it has formed a magic square. Program Requirements Your program must: use command line arguments. At the command line the user must enter (in this order): the name of the executable file, n (which will ALWAYS be 3, but again could be run with other numbers) and the name of the output file in which to write the squares. use a recursive permute to give all of the permutations of the square. In other words, your function called "permute", must be a recursive function. So for each permutation, you should check to see if it is a magic square, display it and write it to the file write only the unique magic squares to the SCREEN and FILE. No duplicates allowed. HINT: Let your program produce duplicates first, then see how you can refrain from writing the duplicates. Then modify your code. use a list of size n2. The code for the recursive permute function will be much easier to write if you store the numbers in a list rather than a two-dimensional list (or array) of size n x n. How you print the data is not related. [6, 2, 7, 5, 4, 8, 3, 9, 1, ....] (size to n2) [4, 2, 7, 6, 5, 8, 3, 9, 1, ....] [7, 4, 2, 6, 5, 8, 3, 9, 1, ....] ... close any files that you have opened as soon as you have finished using them. Time how long your program takes to find the magic square and print that time at the end of the SAME file. Sample Run Here is a sample of output of this program. Please note that the sample output only shows what is expected from your program if the user is actually entering everything as instructed. This is not a test of the program at all, but just a sample for your clarification. 2 7 6 9 5 1 4 3 8 2 9 4 7 5 3 6 1 8 4 3 8 9 5 1 2 7 6 4 9 2 3 5 7 8 1 6 6 1 8 7 5 3 2 9 4 6 7 2 1 5 9 8 3 4 8 1 6 3 5 7 4 9 2 8 3 4 1 5 9 6 7 2 Total running time: 4.76 seconds.

2527


How to do market basket analysis in base sas?

6158


In geotechnical engineering, for wet mix macadam, what are the ranges of values of youngs modulus and poisson's ratio?

1129


what is the difference between front loading thief and side vented theif? which one is best and why?

1710


What is entrepreneurship in sociology

1786


what can be happen if terrorist attack on electric train by demage the high tension line..?

1710


why we use special regent like hexane, taluene and potassium dicromate in uv clabration.

1786


What are the properties of ACID? Please help me I have no clue of it Thank you for everyones support who actually helped, I really appreciate it I will give something back for it. Thank you

1602


how to create a simple presentation in flash 5

1388