Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 39 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
XxXImHerXxX: Why does loosing someone you once loved hurt ?
14 minutes ago 0 Replies 0 Medals
danielfootball123: HAPPY EASTER!!!!
3 minutes ago 1 Reply 0 Medals
Puck: for all you amazing people
49 minutes ago 2 Replies 2 Medals
Breathless: update on drawing.
6 hours ago 11 Replies 5 Medals
ShadowKid3: what are examples of a class three lever?
1 day ago 3 Replies 2 Medals
alphaXtiger: Help pls
2 days ago 3 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!