试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
例如,在1到11 中,即在1、2、3、4、5、6、7、8、9、10、11 中,数字1 出现了4 次。
输入共1行,包含2个整数n、x,之间用一个空格隔开。
输出共1行,包含一个整数,表示x出现的次数。
11 1
4
对于100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int x = in.nextInt(); int count = 0; for (int i = 1; i <= n; i++) { count += sumX(String.valueOf(i), String.valueOf(x)); } System.out.println(count); } } static int sumX(String i, String x ) { int sum = 0; Pattern p = Pattern.compile(x); Matcher m = p.matcher(i); while (m.find()) { sum++; } return sum; } }
import java.util.Scanner; import java.util.ArrayList; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int x = in.nextInt(); ArrayList<Integer> array=new ArrayList<Integer>(); String s=null; String sx=String.valueOf(x); int count=0; for(int i=1;i<=n;i++){ array.add(i); s=String.valueOf(array.get(i-1)); for(int j=0;j<s.length();j++){ String sa=String.valueOf(s.charAt(j)); if(sa.equals(sx)){ count++; } } } System.out.println(count); } } }
import java.util.Scanner ; public class Main{ public void Sum(int l ,int r ,int x ){ int sum = 0 ; for(int i = l; i <= r ; i ++){ int temp = i ; while(temp != 0){ if(temp % 10 == x ){ sum ++ ; } temp /= 10 ; } } System.out.println(sum); } public static void main(String[] args){ Scanner scanner = new Scanner(System.in) ; int n = scanner.nextInt(); int x = scanner.nextInt(); Main man = new Main() ; man.Sum(1 , n , x ) ; } }
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(),x=sc.nextInt(); int count=0; for(int i=1;i<=n;i++) count+=total(i,x); System.out.println(count); } public static int total(int i,int x){ int sum=0; while(i!=0){ if(i%10==x) sum++; i/=10; } return sum; } }
import java.util.*; public class Main { public static void main(String[] args) { int n=0; int x=0; int cnt=0; Scanner in=new Scanner(System.in); n=in.nextInt(); x=in.nextInt(); for(int i=1;i<=n;i++) { int temp=i; while(temp!=0) { if(temp%10==x) cnt++; temp/=10; } } System.out.println(cnt); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); char x = sc.next().charAt(0); int count = 0; for (int i = 1; i <= n; i++) { String a = Integer.toString(i); for (int j = 0; j < a.length(); j++ ) { if(a.charAt(j)==x){ count++; }; } } System.out.print(count); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){ int n = scanner.nextInt(); int x = scanner.nextInt(); int count = 0; String str = ""; char c = Integer.toString(x).charAt(0); //创建数组放数,之后遍历,如果符合要求就+1 String[] toArr = new String[n+1]; for(int i = 1;i <= n;i++){ str = i + ""; for(int j = 0;j < str.length();j++){ if(str.charAt(j) == c){ count++; } } } System.out.println(count); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { int s1,s2,k,t,tot=0; Scanner sc = new Scanner(System.in); s1=sc.nextInt(); s2=sc.nextInt(); for (int i = 1; i <=s1; i++) { k=i; while (k != 0) { t=k%10; if (t==s2){ tot++; } k=k/10; } } System.out.println(tot); } }