测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题