生活随笔
收集整理的這篇文章主要介紹了
U型数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近蒜頭君喜歡上了U型數字,所謂U型數字,就是這個數字的每一位先嚴格單調遞減,后嚴格單調遞增。
比如 212 ,84246,5323就是一個U型數字,但是 333, 98, 567, 31313,89,2就是不是U型數字。
現在蒜頭君問你,[1,100000] 有多少U型數字?
提示:請不要輸出多余的符號。
越是這種題目越是要小心!!!
答案是8193.
首先,100之內的數字就不用考慮了。還有就是單增或者單減的情況也是要注意的。
代碼如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std
;inline int fcs(int k
)
{if(k
<100) return 0;string s
="";while(k
){s
=s
+(char)(k
%10+'0');k
/=10;}reverse(s
.begin(),s
.end());int i
,j
;for(i
=1;i
<s
.length();i
++){if(s
[i
]<s
[i
-1]) continue;else if(s
[i
]==s
[i
-1]) return 0;else break;}if(i
==s
.length()||i
==1) return 0;for(;i
<s
.length();i
++){if(s
[i
]>s
[i
-1]) continue;else return 0;}return 1;
}
int main()
{int ans
=0;set
<int> s
;for(int i
=1;i
<=100000;i
++) if(fcs(i
)) ans
++,s
.insert(i
);cout
<<s
.size()<<endl
;return 0;
}
努力加油a啊,(o)/~
總結
以上是生活随笔為你收集整理的U型数字的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。