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

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