上海网站改版哪家好,专业的开发网站建设,郴州网站建设找哪家公司,佛山网站建设方案服务一、题目描述
试计算在区间 1 到 n的所有整数中#xff0c;数字 x#xff08;0≤x≤9#xff09;x#xff08;0≤x≤9#xff09; 共出现了多少次#xff1f;
例如#xff0c;在 1 到 11 中#xff0c;即在 1、2、3、4、5、6、7、8、9、10、11 中#xff0c;数字 1 …一、题目描述
试计算在区间 1 到 n的所有整数中数字 x0≤x≤9x0≤x≤9 共出现了多少次
例如在 1 到 11 中即在 1、2、3、4、5、6、7、8、9、10、11 中数字 1 出现了 4 次。
输入描述
输入共 1 行包含 2 个整数 n、xn、x之间用一个空格隔开。
其中1≤n≤1060≤x≤91≤n≤1060≤x≤9。
输出描述
输出共 1 行包含一个整数表示 xx 出现的次数。 二、代码展示
import java.util.Scanner;
// 1:无需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 j0; j s.length(); j){int c s.charAt(j) - 0;if(c x){count;}}}System.out.println(count);}
} 将数字转换为字符串并逐位检查 String s i ; for(int j 0; j s.length(); j){ int c s.charAt(j) - 0; if(c x){ count; } } 步骤 1. 转换为字符串将当前数字 i 转换为字符串 s以便逐位访问每个数字字符。 String s i ; 这里利用了字符串拼接的特性将整数 i 转换为字符串形式。 2. 遍历字符串的每个字符 for(int j 0; j s.length(); j){ } 使用嵌套的 for 循环遍历字符串 s 的每一个字符。 3. 提取数字并比较 int c s.charAt(j) - 0; if(c x){ count; } - s.charAt(j) 获取字符串 s 中索引为 j 的字符。 - s.charAt(j) - 0 将字符转换为对应的整数值。这是因为字符 0 到 9 在ASCII码中是连续的减去 0 可以得到实际的数字值。 - 如果转换后的数字 c 等于目标数字 x则将计数器 count 增加 1。