Advertisement
vlatkovski

Brojot 9

Oct 12th, 2017
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef vector<int> vi;
  5. typedef long long ll;
  6.  
  7. ll cnt(vi &v) {
  8.     ll scf = 0;
  9.     for (int i = 0; i < v.size(); ++i) scf += v[i];
  10.     return scf;
  11. }
  12.  
  13. vi ll2vi(ll n) {
  14.     vi v;
  15.     while (n != 0) {
  16.         v.push_back(n % 10);
  17.         n /= 10;
  18.     }
  19.     return v;
  20. }
  21.  
  22. void vpv(vi &v, vi &v2) {
  23. //    for (int z : v) cout << z;
  24. //    cout << " ::::\n";
  25.     for (int i = 0; i < v2.size(); ++i) {
  26.         v[i] += v2[i];
  27.         if (v[i] > 10) {
  28.             v[i] -= 10;
  29.             v[i+1] += 1;
  30.         }
  31. //        printf("v[%i]:%i v2[%i]:%i\n", i, v[i], i, v2[i]);
  32. //        for (int z : v) cout << z;
  33. //        cout << "\n\n";
  34.     }
  35. }
  36.  
  37. int main() {
  38.     string n; cin >> n;
  39.     ll c = 0;
  40.     ll scforig = 0;
  41.     vi scf(100, 0);
  42.     for (int i = n.length()-1, j = 0; i >= 0; --i, ++j) {
  43.         int x = n.at(i) - '0';
  44.         scforig += x;
  45.         scf[j] = x;
  46.     }
  47.     vi scforigv = ll2vi(scforig);
  48. //    printf("scforig:%i\n", scforig);
  49.     while (cnt(scf) % 9 != 0) {
  50.         vpv(scf, scforigv);
  51.         c++;
  52.     }
  53.     cout << c;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement