//To be compiled on gcc #include #include double f,m,n,p,t,previous,trial; int twinprimes() { trial = p; //check for prime while(trial != 0) { f=0; t=3; while( t*t <= trial) { //cout << "debug " << t*t << " " << trial << endl; if(fmod(trial,2) == 0) // if trial is even { f = 2; p -= 1; // make p odd } if (fmod(trial,t) == 0) { f=t; t=trial; } else t=t+2; } if (f == 0) { cout << trial << " is a prime number." << endl; trial = 0; //is previous 1? if(previous == 1) { cout << p-2 << ", " << p << " are twin primes!" << endl; } else { previous = 1; } } else { cout << trial << " has a factor of " << f << "." << endl; trial = 0; previous = 0; } } p += 2; if(p <= m) { return 1; //repeat } else { return 2; //complete } } int main() { int q; //input cout << "Enter the lower limit for a ranged twin prime # check..." << endl; cin >> n; if(n < 7) { cout << "The lower limit must be greater than or equal to 7" << endl; return 0; } cout << "Enter the upper limit for a ranged twin prime # check..." << endl; cin >> m; if(m < n + 2) { cout << "The upper limit must be greater than or equal to " << n + 2 << endl; return 0; } p = n; previous = 0; f = 0; while(q != 2) { q = twinprimes(); } return 0; }