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

被折叠的 条评论
为什么被折叠?



