自整除数(真题)

这篇博客探讨了如何找出10到给定整数n(n<100)之间的自整除数,即那些数字之和能整除自身的数。通过示例解释了判断自整除数的条件,并提供了输入输出样例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

对一个整数 n, 如果其各个位数的数字相加得到的数 m能整除n, 则称 n 为自整除数.

例如 21, 21%(2+1)==0, 所以21是自整除数.

现求出从10到 n(n<100)之间的所有自整除数.

输入

有一行, 整数n(10<=n<100)

输出

输出有多行.

按从小到大的顺序输出所有大于等于10, 小于等于 n 的自整除数, 每行一个自整除数.

输入样例 1 

20

输出样例 1

10
12
18
20
#include<iostream>
using namespace std;
int main() {
	int n ;
	int g, s ;
	while( cin >> n ) {
		for( int a = 10 ; a <= n ; a++ ) {
			int m = a ;
			int b = a ;
			
			g = b % 10 ;
			s = b / 10 ;

			if( 0 == m % (g + s) ) {
				cout << m << endl ;
			} 
		}	
	}
	return 0 ;
}

如果有帮助,不妨点个赞,支持一下吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡觉觉觉得

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值