Problem p03316 (C++)

Buggy submission (status: Runtime Error):
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

int main() {
  int n, s;
  cin >> n;
  s ==
      n % 10 + (n - n % 10) % 100 / 10 +
          (n - (n - n % 10) % 100 / 10) % 1000 / 100 +
          (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) % 10000 / 1000 +
          (n -
           (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) % 10000 / 1000) %
              100000 / 10000 +
          (n - (n - (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) % 10000 /
                        1000) %
                   100000 / 10000) %
              1000000 / 100000 +
          (n - (n - (n - (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) %
                             10000 / 1000) %
                        100000 / 10000) %
                   1000000 / 100000) %
              10000000 / 1000000 +
          (n - (n - (n - (n - (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) %
                                  10000 / 1000) %
                             100000 / 10000) %
                        1000000 / 100000) %
                   10000000 / 1000000) %
              100000000 / 10000000 +
          (n -
           (n -
            (n - (n - (n - (n - (n - (n - n % 10) % 100 / 10) % 1000 / 100) %
                               10000 / 1000) %
                          100000 / 10000) %
                     1000000 / 100000) %
                10000000 / 1000000) %
               100000000 / 10000000) %
              1000000000 / 100000000 +
          (n - (n - (n - (n - (n - (n - (n - (n - (n - n % 10) % 100 / 10) %
                                                 1000 / 100) %
                                            10000 / 1000) %
                                       100000 / 10000) %
                                  1000000 / 100000) %
                             10000000 / 1000000) %
                        100000000 / 10000000) %
                   1000000000 / 100000000) %
              10000000000 / 1000000000;
  if (n % s == 0)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}

Fixed submission:
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

int main() {
  int n, s;
  cin >> n;
  int a = n / 1000000000;
  int b = (n - a * 100000000) / 100000000;
  int c = (n - a * 1000000000 - b * 100000000) / 10000000;
  int d = (n - a * 1000000000 - b * 100000000 - c * 10000000) / 1000000;
  int e = (n - a * 1000000000 - b * 100000000 - c * 10000000 - d * 1000000) /
          100000;
  int f = (n - a * 1000000000 - b * 100000000 - c * 10000000 - d * 1000000 -
           e * 100000) /
          10000;
  int g = (n - a * 1000000000 - b * 100000000 - c * 10000000 - d * 1000000 -
           e * 100000 - f * 10000) /
          1000;
  int h = (n - a * 1000000000 - b * 100000000 - c * 10000000 - d * 1000000 -
           e * 100000 - f * 10000 - g * 1000) /
          100;
  int i = (n - a * 1000000000 - b * 100000000 - c * 10000000 - d * 1000000 -
           e * 100000 - f * 10000 - g * 1000 - h * 100) /
          10;
  int j = n % 10;
  s = a + b + c + d + e + f + g + h + i + j;

  if (n % s == 0)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}