Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include <fstream>
  2. #include <bitset>
  3. using namespace std;
  4. ifstream fin ("emma.in");
  5. ofstream fout ("emma.out");
  6.  
  7. bitset < 1000002 > mark;
  8. int v[80000];
  9.  
  10. int main (){
  11.  
  12. int prime = 1;
  13. v[prime] = 2;
  14. for (int i = 3; i <= 1000000; i += 2){
  15. if (!mark[i]){
  16. v[++prime] = i;
  17. for (int j = i + i; j <= 1000000; j += i)
  18. mark[j] = 1;
  19. }
  20. }
  21.  
  22. int t, n;
  23. fin >> t;
  24. for (int i = 1; i <= t; ++i){
  25. fin >> n;
  26. int poz = 1;
  27. bool gasit = 0;
  28. while (v[poz] < n && !gasit){
  29. int x = n - v[poz];
  30. int st = 1;
  31. int dr = prime;
  32. int mid;
  33. while (st <= dr && !gasit){
  34. mid = (st+dr)/2;
  35. if (v[mid]==x) gasit = 1;
  36. if (v[mid]<=x)
  37. st = mid + 1;
  38. else
  39. dr = mid - 1;
  40. }
  41. poz++;
  42. }
  43. if (gasit) fout << "DA\n";
  44. else fout << "NU\n";
  45. }
  46.  
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement