rendered paste body//To be compiled on gcc
#include <iostream.h>
#include <math.h>
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;
}