再给定一个整数X,和W具有同样的长度。
问有多少个整数符合W的形式并且比X大?
输入格式
多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同。在[1..10]之间.
输出格式
每行一个整数表示结果。
答题说明:
输入样例
36?1?8
236428
8?3
910
?
5
输出样例
100
0
4
import java.util.Scanner; //w s public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String w = sc.nextLine(); String s = sc.nextLine(); char[] chw = w.toCharArray(); char[] chs = s.toCharArray(); long count = 0; //依次比较每一个字符的大小 for (int i = 0; i < w.length(); i++) { //如果出现通配符则计算在此处的符合条件的种数 if (chw[i] == ‘?‘) { int t = ‘9‘ - chs[i]; int r = 0; int j = i + 1; while ((j = w.indexOf(‘?‘, j)) != -1) { r++; j++; } count += Math.pow(10, r) * t; } //如果不是通配符,则比较常规字符的大小 else { //若大于,则无论后面通配符填什么数都成立 if (chw[i] > chs[i]) { int r = 0; int j = i + 1; while ((j = w.indexOf(‘?‘, j)) != -1) { r++; j++; } count += Math.pow(10, r); break; } //若小于,则无论后面通配符填什么数都不成立 else if (chw[i] < chs[i]) { break; } //若等于,则继续循环 } } System.out.println(count); } } }