A33643. 奇妙数提示信息:如果一个整数能够被它的各位上的非零数字整除,则称该数为奇妙数。例如:整数102,它的各位上的非零数字为1 和2,102 既能被1 整除,也能被2 整除,所以102 是奇妙数;整数456,它的各位上的非零数字为4、5 和6,456 能被4 和6 整除,但不能被5整除,所以456 不是奇妙数。
填空题
困难
知识点
题目描述
奇妙数
提示信息:
如果一个整数能够被它的各位上的非零数字整除,则称该数为奇妙数。
例如:
整数102,它的各位上的非零数字为1 和2,102 既能被1 整除,也能被2 整除,
所以102 是奇妙数;
整数456,它的各位上的非零数字为4、5 和6,456 能被4 和6 整除,但不能被5整除,所以456 不是奇妙数。
题目描述
给定两个整数n 和m,请输出n 到m 之间(包含n 和m)所有的奇妙数;若不存在奇妙数,则输出-1。
输入描述
一行输入两个整数n 和m(1≤n≤m≤100000),整数之间以一个空格隔开
输出描述
按照从小到大的顺序输出n 到m 之间(包含n 和m)所有的奇妙数,整数之间以一个空格隔开;若不存在奇妙数,则输出-1
样例输入
10 20
样例输出
10 11 12 15 20
参考答案
#include <bits/stdc++.h>
using namespace std;
bool is_qm(int x){
int y=x;
while(y){
if(y%10!=0){
if(x%(y%10)!=0)
return false;
}
y/=10;
}
return true;
}
int main()
{
int n,m,t=0;
cin>>n>>m;
for(int i=n;i<=m;i++){
if(is_qm(i)) {
cout<<i<<' ';
t=1;
}
}
if(!t) cout<<-1;
return 0;
}
上一题
下一题