百度如何搜索到自己的網(wǎng)站網(wǎng)站綜合查詢工具
一、題目描述
試計(jì)算在區(qū)間 1 到?n的所有整數(shù)中,數(shù)字?x(0≤x≤9)x(0≤x≤9)?共出現(xiàn)了多少次?
例如,在 1 到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,數(shù)字 1 出現(xiàn)了 4 次。
輸入描述
輸入共 1 行,包含 2 個(gè)整數(shù)?n、xn、x,之間用一個(gè)空格隔開(kāi)。
其中,1≤n≤106,0≤x≤91≤n≤106,0≤x≤9。
輸出描述
輸出共 1 行,包含一個(gè)整數(shù),表示?xx?出現(xiàn)的次數(shù)。
二、代碼展示
import java.util.Scanner;
// 1:無(wú)需package
// 2: 類名必須Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int x = scan.nextInt();int count = 0;for(int i = 1 ;i <= n;i++){String s = i+ "";for(int j=0; j < s.length(); j++){int c = s.charAt(j) - '0';if(c == x){count++;}}}System.out.println(count);}
}
將數(shù)字轉(zhuǎn)換為字符串并逐位檢查
String s = i + "";
for(int j = 0; j < s.length(); j++){
? ? int c = s.charAt(j) - '0';
? ? if(c == x){
? ? ? ? count++;
? ? }
}
步驟:
? 1. 轉(zhuǎn)換為字符串:將當(dāng)前數(shù)字 `i` 轉(zhuǎn)換為字符串 `s`,以便逐位訪問(wèn)每個(gè)數(shù)字字符。
? ? ?String s = i + "";
? ? ?這里利用了字符串拼接的特性,將整數(shù) `i` 轉(zhuǎn)換為字符串形式。? 2. 遍歷字符串的每個(gè)字符:
? ? ?for(int j = 0; j < s.length(); j++){
? ? ?}
? ? ?使用嵌套的 `for` 循環(huán)遍歷字符串 `s` 的每一個(gè)字符。? 3. 提取數(shù)字并比較:
? ? ?int c = s.charAt(j) - '0';
? ? ?if(c == x){
? ? ? ? ?count++;
? ? ?}
? ? ?- `s.charAt(j)` 獲取字符串 `s` 中索引為 `j` 的字符。
? ? ?- `s.charAt(j) - '0'` 將字符轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)值。這是因?yàn)樽址?`'0'` 到 `'9'` 在ASCII碼中是連續(xù)的,減去 `'0'` 可以得到實(shí)際的數(shù)字值。
? ? ?- 如果轉(zhuǎn)換后的數(shù)字 `c` 等于目標(biāo)數(shù)字 `x`,則將計(jì)數(shù)器 `count` 增加 1。