AlbertMourato

Untitled

Dec 7th, 2015
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll primo[1000000];
  5. ll vetor[1000000];
  6.  
  7. int qtdP(ll primo[],ll i){
  8.     if(i==1||i==0){
  9.         return 0;
  10.     }
  11.     if(i==2){
  12.          return primo[2];
  13.     }
  14.     return primo[i]+primo[i-1];
  15. }
  16.  
  17. int main() {
  18.     //freopen("in.txt", "r", stdin);
  19.     //freopen("out.txt", "w", stdout);
  20.     //fazendo crivo
  21.     for(ll i = 2;i<=1000000;i++){
  22.         primo[i]=1;
  23.     }
  24.     for(ll i = 2;i<=1000000;i++){
  25.         if(primo[i]){
  26.             for(ll j = 2*i;j<=1000000;j+=i){
  27.                 primo[j] = 0;
  28.             }
  29.         }
  30.     }
  31.     int aux = 0;
  32.     for(ll i = 0;i<=1000000;i++){
  33.         if(primo[i]) aux++;
  34.         vetor[i] = aux;
  35.     }
  36.     int t;
  37.     ll auxiliar, a, b, s = 0;
  38.     cin>>t;
  39.     while(t>0){
  40.         auxiliar = 0;
  41.         cin>>a>>b;
  42.         s = 0;
  43.         if(a==b){
  44.             a = sqrt(a);
  45.             s = vetor[a]-vetor[a-1];
  46.         }else{
  47.             auxiliar = a;
  48.             a = sqrt(a);
  49.             b = sqrt(b);
  50.             s = vetor[b]-vetor[a];
  51.         }
  52.         cout<<s<<"\n";
  53.         t--;
  54.     }
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment