Advertisement
silentkiler029

D. Sweety Miya The Saver- solve by Shanto

Oct 30th, 2020 (edited)
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. /*    BISMILLAHIR-RAHMANIR-RAHIM
  2.  ____________________________________
  3. |                                    |
  4. |      SHANTO_SUST_SWE-19__029       |
  5. |      shanto-swe029.github.io       |
  6. |____________________________________|
  7. */
  8.  
  9. #include <bits/stdc++.h>
  10. using namespace std;
  11.  
  12. #define M 10000
  13. int marked[M/64 + 2];
  14.  
  15. #define on(x) (marked[x/64] & (1<<((x%64)/2)))
  16. #define mark(x)  marked[x/64] |= (1<<((x%64)/2))
  17.  
  18. void sieve(int n) {
  19.   for (int i = 3; i * i < n; i += 2) {
  20.     if (!on(i)) {
  21.       for (int j = i * i; j <= n; j += i + i) {
  22.         mark(j);
  23.       }
  24.     }
  25.   }
  26. }
  27.  
  28. bool isPrime(int num) {
  29.   return num > 1 && (num == 2 || ((num & 1) && !on(num)));
  30. }
  31.  
  32. std::vector < string > primes;
  33.  
  34. void createPrimeVector()
  35. {
  36.     for(int i = 1; i < 10000; i++) {
  37.         if(isPrime(i)) {
  38.             primes.push_back(to_string(i));
  39.         }
  40.     }
  41. }
  42.  
  43.  
  44. int main()
  45. {
  46.     sieve(10000);
  47.     createPrimeVector();
  48.  
  49.     int T, t = 0;
  50.     std::cin >> T;
  51.     int n, sz = primes.size() - 1;
  52.     string s, y;
  53.     while(T--) {
  54.         std::cout << "Case " << ++t << ": ";
  55.         std::cin >> n >> s;
  56.         bool found = false;
  57.         for(int i = sz; i >= 0; i--) {
  58.             if (s.find(primes[i]) != string::npos) {
  59.                 found = true;
  60.                 y = primes[i];
  61.                 break;
  62.             }
  63.         }
  64.         if(found) {
  65.             cout << y << endl;
  66.         }
  67.         else {
  68.             cout << "This is a junk!" << endl;
  69.         }
  70.     }
  71.  
  72.     return 0;
  73. }
  74.  
  75. //ALHAMDULILLAH
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement