c++ - Homework help: prime numbers -


i'm trying make bool isprime function creates list of prime numbers covering user-input integer, linearly search through list , return true if input integer in list. i'm having problem, however, figuring out how make list covers input integer (that is, if user inputs 4, list must have 2,3, , 5).

here code have far (i know it's wrong, i've tried doing research can't figure out how this.

bool isprime(int n){   int i,tprime=3;   list<int>prime;   prime.push_back(2);   list<int>::iterator it;     (it=prime.begin();it!=prime.end();it++){       if (*it<n){         while (i<sqrt(tprime)){           if(n%i!=0){             if(i<sqrt(tprime))               i++;             else prime.push_back(tprime);           }         tprime++;         }       }     }   (it=prime.begin();it!=prime.end();it++){     if (*it==n)       return true;   }   return false; } 

can guys give me hints on how make work? can figure out linear search.

you got list of known primes can use check each individual number see if prime. right try iterate on list on outer level. doesn't seem quite right.

here 1 way go (matching tried do):

  1. count 3 number looking for.
  2. determine maximum prime value need check against (i.e., square root of number)
  3. for each number check if prime number determining reminder of dividing each element of known primes list maximum value need check.
  4. if number prime, add list of known primes.

Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -