ABC101_B問題の解説
AtCoder Beginner Contest 101のB問題を解いたので解法をメモしておきます。
解法
数値としてNを受け取り、文字列に変換したものを範囲for文にかけます。 for内ではcharとして扱われるためcharからintに変換して足し合わせます。 Nを足し合わせた数で割ってあまりがなかったらYesを出力します。
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; string s = to_string(n); int sn = 0; for (char S : s) { sn += int(S-'0'); } if (n % sn == 0) cout << "Yes" << endl; else cout << "No" << endl; }