Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 7 Online
OpenStudy (anonymous):

Problem Set 1 - Problem 1 - MIT 6.00 Spring 2011 Is the following code less efficient than the one in the solutions? I'm wondering this because it does the same steps but in more lines of code. http://dpaste.com/773504/

OpenStudy (anonymous):

Efficiency is not actually based on the number of lines of code, it's based on how the time it takes to run the program based on your input. I could write a program in 100 lines that you could write in 2, and they might still be about as efficient. To answer your question, your code is pretty much as efficient as the solution's code. It enters one for loop that runs based on the number of months (in this case, always 13) and then ends. Since you can't change the number of months, the length of time this program will run is constant. If you could change the number of months, there would be a linear relationship between how long the program runs and the months (if you multiplied the months by 1000, the problem would take 1000 times longer to run). The solution code is the same way. Is "more" lines of code worse than "fewer" lines of code? Depends. Ultimately, you want your code to be readable by others. Some programmers take pride in the "elegance" of their solution, which means they were able to do it in the fewest lines of code...but elegance is meaningless if no one can understand what you've done. So I wouldn't worry about it too much.

OpenStudy (anonymous):

Thanks for the great reply.

OpenStudy (anonymous):

Your code seems just fine. I do have to comment the shandelman's last paragraph. In IMHO, the 'elegance' of the code is found in it's ability to do what it's supposed to do in the least amount of lines. This will not make it unreadable. Especially if the coder has made proper use of comments.

OpenStudy (anonymous):

@PierreHardy: I can imagine situations where a whole bunch of commands are strung together on one line when they would be more readily understood on separate lines. The method is the same, but trying to condense them all onto one line makes the code more confusing. There is a point where the quest for short code actually hinders elegance.

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Latest Questions
laylasnii13: Who wanna write or make a song with me???
3 hours ago 0 Replies 0 Medals
kaelynw: art igg
2 hours ago 9 Replies 1 Medal
XShawtyX: Art
20 hours ago 6 Replies 0 Medals
Nina001: teach me how to draw or just tell me the basics
22 hours ago 2 Replies 1 Medal
XShawtyX: We doing another drawing gimme ideas to add to this
1 day ago 9 Replies 1 Medal
RAVEN69: What is x 3+y 3+z 3=k
1 day ago 20 Replies 1 Medal
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!