自除数

自除数是指不含0且能被所有位数整除的数,如128。给定上下界,可以找出该范围内所有自除数,例如在1到22之间,自除数包括1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22。解决此类问题的关键在于检查每位数字是否为0并能被整除。" 88993362,7555277,JSP页面:根据访问时间显示问候消息,"['Web开发', 'JSP编程', '时间处理', '用户交互']

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

自除数 是指可以被它包含的每一位数除尽的数。
例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。
还有,自除数不允许包含 0 。

给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。
示例 1:
输入:
上边界left = 1, 下边界right = 22
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

#include<stdio.h>
bool isSubdivsion(int n){
	if(n==0){
		return false;
	}else{
		int k=n;
		while(k!=0){
			int a=k%10;
			if(a==0){
				return false;
			}
			if(n%a!=0){
				return false;
			}
			k=k/10;
		}
		return true;
	}
}
int main(){
	int left,right;
	scanf("%d%d",&left,&right);
	for(int i=left;i<=right;i++){
		if(isSubdivsion(i)){
			printf("%d ",i);
		}
	}
	return 0;
}

心得:这道题主要是直接判断数字是否为0,然后判断数字是否是自除数。在判断自除数的时候要先判断数字的某一位是否为0,然后判断数字能否被这一位除尽。容易忘记的一点就是在判断是否是自除数的时候数字的某位是否为0这一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值