#include "stdafx.h" #include "stdio.h" #include "malloc.h" #include "math.h" unsigned int data[70000]; int isP(unsigned int x) { unsigned int k,q; q = (unsigned int )(sqrt((long double)x)); for(k = 3; k < q; k += 2) { if(x % k == 0) return 0; } return 1; } void init() { unsigned int x,count = 0; data[0] = 3; for(x = 3; count < 70000 ; x++) { if(isP(x)) { data[++count] = x; } } } int f(unsigned int x) { unsigned int k = (unsigned int)(sqrt((double long)x)); unsigned int i; for(i = 0; data[i] <= k; ++i) { if(x%data[i] == 0) { printf("/n%u/t%u",data[i],x); return 0; } } printf("/n/n/nYes%u/t%u",data[i],x); printf("/n/n%u",data[i]*data[i]); return 1; } int main() { unsigned int x = 1000000001; init(); while(1) { if(f(x)) { printf("/n%d/n",x); break; } x += 2; } return 0; }