Advertisement
royalsflush

Referência para LA 3542 (Luiza)

Apr 6th, 2012
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <algorithm>
  3. #include <string.h>
  4. using namespace std;
  5.  
  6. bool pr[1000010];
  7. int n;
  8.  
  9. void sieve() {
  10.     for (int i=0; i<1000001; i++)
  11.         pr[i]=true;
  12.     pr[0]=pr[1]=false;
  13.  
  14.     for (int p=2; p*p<1000001; p++) {
  15.         while (!pr[p]) p++;
  16.  
  17.         for (int i=2; i*p<1000001; i++)
  18.             pr[i*p]=false;
  19.     }
  20. }
  21.  
  22. int main() {
  23.     sieve();
  24.  
  25.     while (1) {
  26.         scanf("%d", &n);
  27.         if (n==-1) break;
  28.         bool series=true;
  29.  
  30.         if (n<3) series=false;
  31.  
  32.         for (int i=2; i<1000001; i++)
  33.             if (pr[i] && n%i==0)
  34.                 if (i%10!=3) {
  35.                     series=false;
  36.                     break;
  37.                 }
  38.    
  39.         printf("%d", n);
  40.         if (series) printf(" YES\n");
  41.         else printf(" NO\n");
  42.     }
  43.  
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement