Lecture 2

Nov. 11th, 2009 05:21 pm
elz: (ada-tubes)
[personal profile] elz posting in [community profile] intro_to_cs






Problem set 1: Computing prime numbers, product of primes

This one's a little trickier, so feel free to comment if you run into any problems or want to brainstorm with other people!

(eta: having issues with poll, alas)

Date: 2009-11-12 06:21 am (UTC)
ungemmed: (Default)
From: [personal profile] ungemmed
Hmm, okay. I sometimes run into the same problem, I think every coder does--I mean, obviously you're running into it more than most, but I've definitely had that "argh, why do computers not speak English" feeling before.

If it helps, here's how I'd translate the pseudocode I just gave you into real python:

n = the number we're checking
n = int(raw_input('n? '))

(raw_input prompts the user and returns their answer; we need to typecast the input from a string to a number using int, or otherwise the computer will think it's text and whine at us)
start with x = 2, 'cause it's the smallest prime
x = 2

(nothing really fancy there)
while x < n
while x < n:

(another place where the python bears a striking resemblance to the pseudocode)
    
if n is divisible by x
    if x % n == 0:

(use the modulus function to see if x divides evenly into n)
        
n is not prime, we can stop checking now
        break

(breaks you out of the while loop, and sets your "instruction counter" at the instruction immediately after it)
    
otherwise,
    else
*
        
n might still be prime!
(since our program is assuming n is prime until told otherwise, already, there's no need to translate this into code)
        
set x to the next value to check divisibility with
        x += 1

(sets x to old-x + 1)**
        
and run through the loop again
(you don't actually need to put anything here for this, in python. When the interpreter reaches the end of a while loop, it will automatically go back to the top, assuming the loop condition (x < n) still holds true)

*You don't actually need to use an else case for this, because there's a break statement in the if case, but it's a more direct translation of the pseudocode.
**It would be faster to only check n's divisibility with just primes, rather than with all integers, but that is beyond the scope of this simple example. ^^

Date: 2009-11-16 05:15 am (UTC)
From: [personal profile] ex_wicker969
I need a lightbulb icon! I just tried to write a comment telling you how I got it but I rambled but I think I've at least got how I was thinking in the wrong direction, basically. I couldn't even start. Thank you!

Date: 2009-11-16 05:18 am (UTC)
ungemmed: (Default)
From: [personal profile] ungemmed
I'm really glad I could help!

LjdywZEBondMs

Date: 2011-08-14 05:08 am (UTC)
From: (Anonymous)
A good many vablulaes you've given me.

Profile

Introduction to Computer Science

July 2010

S M T W T F S
    123
45678910
11121314151617
18192021222324
2526272829 3031

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 13th, 2025 10:41 am
Powered by Dreamwidth Studios