1. 程式人生 > >2018 藍橋杯省賽 B 組模擬賽(一)-U型數字

2018 藍橋杯省賽 B 組模擬賽(一)-U型數字

最近蒜頭君喜歡上了U型數字,所謂U型數字,就是這個數字的每一位先嚴格單調遞減,後嚴格單調遞增。比如 212212 就是一個U型數字,但是 33333398985675673131331313,就是不是U型數字。

現在蒜頭君問你,[1,100000][1,100000] 有多少U型數字?

提示:請不要輸出多餘的符號。

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int ans= 0;
    for (int i= 1; i <= 100000; i++)
    {
        string s= to_string(i);
        bool down= 0, up= 0;
        int j;
        for (j= 1; j< s.size(); j++)
        {
            if(s[j-1]>s[j])
            {
                down= 1;
            }
            else
            {
                break;
            }
        }
        for (; j< s.size(); j++)
        {
            if(s[j-1]<s[j])
            {
                if (j== s.size()-1)
                    up= 1;
            }
            else
            {
                break;
            }
        }
        if (down && up)
        {
            ans++;
        }
    }
    cout << ans << endl;


    return 0;
}