All pastes #997770 Raw Edit

SloPrime

public cpp v1 · immutable
#997770 ·published 2008-04-25 20:44 UTC
rendered paste body
// Just showing how to do slow prime calculating.// You may do whatever you want with this. // Calmatory 2008#include <iostream>#include <stdio.h>#include "prime.h"#include <windows.h> // for GetTickCount().using namespace std;// init vars.int i=0;int primes=0;int start=0, end=0;int numprimes=0;char sel;int main(int argc, char *argv[]) {        CPrime prime;    STimer timer;        start:    cout << "###################################" << endl;    cout << "#         SloPrime v1.0           #" << endl;    cout << "#                                 #" << endl;    cout << "#  a) Calculate 16384 primes      #" << endl;    cout << "#  b) Calculate 32768 primes      #" << endl;    cout << "#  c) Calculate 65535 primes      #" << endl;    cout << "#                                 #" << endl;    cout << "#  q) Quit                        #" << endl;    cout << "#                                 #" << endl;    cout << "###################################" << endl;        cin.get(sel); // get user input           // check user input and return if necessary.    if(sel == 'a') { numprimes = 16384; }     if(sel == 'b') { numprimes = 32768; }     if(sel == 'c') { numprimes = 65535; }       if(sel == 'q') { return 0; }     if(sel != 'a' && sel != 'b' && sel != 'c' && sel != 'q') { goto start; }       cout << "Starting to calculate first " << numprimes << " prime numbers!" << endl << "This may take a while . . ." << endl;    // starting the timer.    timer.start = GetTickCount();    while(primes<=numprimes) {        i++;         if(prime.GetPrime(i)==2) { primes++; }; // check if the value of i is a prime number.    }    timer.end = GetTickCount();    timer.elapsed = (timer.end-timer.start)/1000.0f; // Get time in seconds since we started the timer.        printf ("Calculated %d primes in %.4f seconds!\n", primes-1, timer.elapsed);    // the -1 is because of "primes<=numprimes" in the while loop. That is because of the fact that with < instead of <=    // the program does not calculate the very last prime. This does not have anything to do with the actual result though!        system("pause"); // I personally HATE this, but if we were using cin.get(), there would be some problems. Check yourself.}