当前位置: 代码迷 >> 综合 >> 多位数拆分计数 || P1980 [NOIP2013 普及组] 计数问题 试计算在区间 11 到 nn的所有整数中,数字x≤9)共出现了多少次?例如,在 11到1111中,
  详细解决方案

多位数拆分计数 || P1980 [NOIP2013 普及组] 计数问题 试计算在区间 11 到 nn的所有整数中,数字x≤9)共出现了多少次?例如,在 11到1111中,

热度:98   发布时间:2023-12-11 21:36:45.0

题解

关键点:多位数拆分计数 eg: 45646 中 含6 的个数

跳转链接
在这里插入图片描述

Java 代码

package luoguTest;import java.util.Scanner;/*** @author LZH.create* Date : 2021.3.25 * 多位数 所包含 数字 几何 * 解法 : 运用数组 存储 0~9 */
public class P1980 {
    static int [] num =new int [10] ;  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in) ;// 初始化 for 循环再主函数内for(int i = 0 ; i <= 9 ; i++) {
    num[i] = 0 ;}int n = sc.nextInt() ;int x = sc.nextInt() ;for(int i = 1 ; i <= n ; i++ ) {
    if( i/10 == 0) {
       // 个位数num[i] ++ ;} else {
        // 多位数breakUp(i) ;}}System.out.println(num[x]);}// 拆分多位数方法public static void breakUp(int nums) {
    while(nums != 0) {
    num[nums%10]++ ;nums=nums/10 ;}}}