A40414. 自整除数对一个整数 n,如果其各个位数的数字相加得到的数 m 能整除 n,则称 n 为自 整除数.例如 21 ,21 %(2+1 )==0,所以 21 是自 整除数.现求出从 1 0 到 n(n < 1 00)之间的所有自整除数.输入有一行,整数 n,(1 0 <= n < 1 00)输出有多行.按从小到大的顺序输出所有大于等于 1 0,小于等于 n 的自整除数,每行一个自整除数.样例输入47样…
填空题
容易
知识点
题目描述
自整除数
对一个整数 n,如果其各个位数的数字相加得到的数 m 能整除 n,则称 n 为自 整除数.
例如 21 ,21 %(2+1 )==0,所以 21 是自 整除数.现求出从 1 0 到 n(n < 1 00)之间的所有自整除数.
输入
有一行,整数 n,(1 0 <= n < 1 00)
输出
有多行.按从小到大的顺序输出所有大于等于 1 0,小于等于 n 的自整除数,每行一个自整除数.
样例输入
47
样例输出
10
12
18
20
21
24
27
30
36
40
42
45
参考答案
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s=0;
cin>>n;
for(int i=10,a,b;i<=n;i++){
for(a=i,s=0;a!=0;){
b=a%10;
a/=10;
s+=b;
}
if(i%s==0){
cout<<i<<endl;
}
}
return 0;
}
上一题
下一题