最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增。比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 3131331313,就是不是U型数字。
现在蒜头君问你,[1,100000][1,100000] 有多少U型数字?
提示:请不要输出多余的符号。
import java.util.Scanner;
public class Main1{
public static String mp[] = new String[11];
public static int[][] visit = new int[11][11];
public static int n, m, ans;
public static int dx[] = {0, 0, 1, -1};
public static int dy[] = {1, -1, 0, 0};
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
ans = 0;
//[1,100000] 有多少U型数字?
for(int i = 100; i <= 100000 ; i++) {
int a[] = new int[10];
int t = i;
int ct = 0;
while(t!=0) {
a[ct++] = t % 10;
t /= 10;
}
int jiang = 0;
int zeng = 0;
int f = 0;
int f1 = 0;
int f2 = 0;
for(int j = 1; j < ct; j++) {
if(a[j] < a[j - 1] && f1 == 0) {
jiang = 1;
f2 = 1;
}
else if(a[j] > a[j - 1] && f2 == 1) {
zeng = 1;
f1 = 1;
}
else {
f = -1;
break;
}
}
if(f != -1 && f1 == 1 && f2 == 1) {
ans++;
}
}
System.out.println(ans);
}
}
原文:https://www.cnblogs.com/zhumengdexiaobai/p/10575826.html