Advertisement
AlenAntonelli

Divisibility by Eight 550/C

Oct 23rd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. /// https://trello.com/c/LekY9Fra/35-problem-550c-codeforces
  2. /// http://codeforces.com/problemset/problem/550/C
  3. #include <iostream>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. bool T = true;
  8. int numF = 0;
  9.  
  10. vector <int> mult (200);
  11.  
  12. void EsDivisor (int num)
  13. {
  14.     for (int i=0; i<200; i++)
  15.         if (num == mult[i])
  16.         {
  17.             T = false;
  18.             numF = num;
  19.             break;
  20.         }
  21. }
  22.  
  23.  
  24. int main()
  25. {
  26.    
  27.     for (int i=0; i<1000/8; i++)
  28.         mult[i] = i*8;
  29.        
  30.     string s;
  31.     cin>>s;
  32.    
  33.     int n = s.size();
  34.     vector <int> v (n);
  35.    
  36.     for (int i=0; T && i<n; i++)
  37.         v[i] = s[i]- '0';
  38.        
  39.        
  40.     for (int i=0; i<n; i++)
  41.     {
  42.         EsDivisor ( v[i] );
  43.        
  44.         for (int j=i+1; T && j<n; j++)
  45.         {
  46.             EsDivisor ( 10*v[i] + v[j] );
  47.            
  48.             for (int k=j+1; T && k<n; k++)
  49.                 EsDivisor ( 100*v[i] + 10*v[j] + v[k] );
  50.         }
  51.     }
  52.    
  53.     if (T)
  54.         cout<<"NO";
  55.     else
  56.         cout<<"YES"<<endl<<numF;
  57.        
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement