最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增。比如
212
就是一个U型数字,但是
333, 98, 567, 31313,就是不是U型数字。
现在蒜头君问你,
[1,100000]有多少U型数字?
提示:请不要输出多余的符号。
u型数字可以是32123 3212 4324
先弄懂题意
#include <stdio.h>
#include <string.h>
#include<algorithm>
using namespace std;
const int N=1e6+10;
int main()
{
int k=0,a,b,c,d,e,f;
for(int i=100;i<=999;i++)
{
a=i%10; //个
b=i/10%10; //十
c=i/100; //百
if(a>b&&c>b)
{
// printf("@@@@@@%d %d %d\n",c,b,a);
k++;
}
}
for(int i=1000;i<=9999;i++)
{
a=i%10; //个
b=i/10%10; //十
c=i/100%10; //百
d=i/1000; //千
if(d>c&&b>c&&a>b||d>c&&c>b&&a>b)
k++;
}
for(int i=10000;i<=99999;i++)
{
a=i%10; //个
b=i/10%10; //十
c=i/100%10; //百
d=i/1000%10; //千
e=i/10000%10; //万
if(e>d&&a>b&&b>c&&c>d||e>d&&d>c&&a>b&&b>c||e>d&&d>c&&c>b&&a>b)
k++;
}
printf("%d\n",k);
return 0;
}