生活随笔
收集整理的這篇文章主要介紹了
                                
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型数字的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。