您的位置:首页 > 其它

2018 蓝桥杯省赛 B 组模拟赛(一)----U型数字

2018-03-26 17:08 239 查看
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增。比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 3131331313,就是不是U型数字。现在蒜头君问你,[1,100000][1,100000] 有多少U型数字?提示:请不要输出多余的符号。
#include <bits/stdc++.h>
using namespace std;
int main() {
int ans = 0;
for(int i = 1; i < 100001; i++ ){
int flag = 1;
string str = to_string(i);//c++11
int len = str.length();
if(len<3) continue;
if((str[len-1]-'0')<=(str[len-2]-'0')) continue;
if((str[0]-'0')<=(str[1]-'0')) continue;
for(int j = 0 ; j < len-1 ; j++){
if((str[j]-'0')==(str[j+1]-'0')) break;
if((str[j]-'0')<(str[j+1]-'0')) flag = 0;
if((str[j]-'0')>(str[j+1]-'0')&&!flag) break;
if(j == len - 2 && !flag) ans++;
}
}
cout<<ans<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: