题意简述
给定一个整数 ,求整数 能否被它各个数位之和 整除。
解题思路
初学者必备算法:数字拆分。
非常简单,每次都将 模 10 来取出这个数字的末位。
然后 除 10 来使这个数字向前缩进一位。
这个东西的实现是基于 C++ 的一些特性。即 int 变量等若赋值为小数,则自动向下取整。
代码实现
#include<bits/stdc++.h>
using namespace std;
int n,sn,tmp;
int main() {
scanf("%d",&n); tmp=n;
while(tmp>=1) {
sn+=tmp%10;
tmp/=10;
}
if(n%sn!=0) printf("No");
else printf("Yes");
return 0;
}
//code by TheCedar