fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. #define N 1000*1000
  6. vector <int> prime;
  7. bool mark[2*N];
  8. void erat()
  9. {
  10. for(int i=2;i<=N;i++)
  11. if(!mark[i])
  12. {
  13. prime.push_back(i);
  14. for(int j=2*i;j<=N;j+=i)
  15. mark[j]=true;
  16. }
  17.  
  18. }
  19.  
  20. int main()
  21. {
  22. erat();
  23. for(int i=0;i<100;i++)
  24. {
  25. int n,ans=1000*1000;
  26. cin>>n;
  27. for(int j=0;j<prime.size();j++)
  28. ans=min(ans,abs(n-prime[j]));
  29. cout<<ans<<endl;
  30.  
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0.03s 5228KB
stdin
10 20 30 121 34321 522 1
stdout
1
1
1
6
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1