时间限制: 1.0 秒
空间限制: 512 MB
相关文件: 题目目录
题目描述
bdg 今天定义了“趣味数”:一个正整数是趣味数,当且仅当“在十进制下,低位的数字不小于高位的数字”。比如 123,111 是趣味数,10,120,213 不是趣味数。
现在,给你一个正整数 n,请你输出 [10,n] 中所有的趣味数。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数 n。
保证 10≤n≤105。
输出格式
输出到标准输出。
从小到大输出所有的趣味数,每行一个趣味数。如果没有趣味数,则输出一行,内容为 −1。
样例1输入
10
样例1输出
-1
样例1解释
10 不是趣味数,故输出 −1。
样例2输入
13
样例2输出
11
12
13
样例2解释
10≤x≤13 中有 11,12,13 三个趣味数。
子任务
所有数据保证 10≤n≤105。
代码
#include<bits/stdc++.h> using namespace std; //判断是否为趣味数的方法 bool df(int n) { int temp[6] = {0}; int i = 1; temp[5] = n%10;n = n / 10; while(n%10||n/10) { temp[5-i] = n%10; if(temp[6-i]>=temp[5-i]) { ++i;n = n/10; } else return false; } return true; } int main() { int n; cin>>n; if(n<=10) cout<<-1; else { int i = 11; while(i<=n) { if(df(i)) cout<<i<<endl; ++i; } } return 0; }
123456789101112131415161718192021222324252627282930313233343536373839404142