时间限制: 1.0 秒
空间限制: 512 MB
相关文件: 题目目录
题目描述bdg 今天定义了“趣味数”:一个正整数是趣味数,当且仅当“在十进制下,低位的数字不小于高位的数字”。比如 123,111 是趣味数,10,120,213 不是趣味数。
现在,给你一个正整数 n,请你输出 [10,n] 中所有的趣味数。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数 n。
保证 10≤n≤105。
输出格式输出到标准输出。
从小到大输出所有的趣味数,每行一个趣味数。如果没有趣味数,则输出一行,内容为 −1。
样例1输入10
样例1输出
扫描二维码关注公众号,回复:
5539743 查看本文章
-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;
}