int main() {
	Primes *p = new Primes();

	int a = 123;
	int final_digits[] = { 1,3,7,9};
	for (int i = 0; i < 3; i++) {
    if (p->is_prime(a*10 + final_digits[i])) {
			cout << a*10 + final_digits[i] << endl;
    }
	}
	ulong power = power_10_ceil(a);
	for (int i = 1; i < 10; i++) {
    if (p->is_prime(a + power*i)) {
			cout << a + (power * i) << endl;
    }   		
	}
	for(vector<ulong>::iterator i = p->primes_by_len[digits_in_num(a)]->begin(); i != p->primes_by_len[digits_in_num(a)]->end(); i++) {
		ulong t1 = a;
		ulong t2 = *i;
		if (t1 > t2) {
			ulong t3 = t1;
			t1 = t2;
			t1 = t3;
		}
		ulong diff = t2 - t1;
    if (diff % 10 == 0 && diff > 0) {
     while (diff % 10 == 0) {
			 diff /= 10; 
     }
		 diff = diff - (diff % 10);
		 if (diff == 0) {   
			 cout << *i << endl;
		 }
   }
	};

  return(0);
}
Exemplo n.º 2
0
bool test_is_prime(Primes pr, llint input, bool is_prime) {
	return pr.is_prime(input) == is_prime;
}