P1980 计数问题
2019-01-27 本文已影响0人
瑾墨QAQ
题目描述
试计算在区间 11 到 n n的所有整数中,数字 x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 11到 11 11中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。
输入输出格式
输入格式:
22个整数n,xn,x,之间用一个空格隔开。
输出格式:
11个整数,表示xx出现的次数。
解题:
package com;
import java.util.Scanner;
/**
* @author by 瑾墨
* @Classname test
* @Description
* @Creat-Date 2019/1/27 22:00
*/
public class Main {
static long panduan(int n, int x)
{
int i,j;
//初始计数器的值
long s=0;
for(i=1;i<=n;i++)
{
//j是判断位数的一个计数器
j=i;
//如果位数不为0,即该位有数,进行循环,
// 若该位为0,及时停止循环,跳到下一个数
while(j>0)
{
//如果取余后等于x,判断个数的计数器+1
if(j%10==x)
{
s++;
}
//把j除以10,到下一位后继续循环
j=j/10;
}
}
//返回计数器的值
return s;
}
public static void main(String[] args) {
int t,c;
//主函数里的计数器
long r;
Scanner scanner=new Scanner(System.in);
t=scanner.nextInt();
c=scanner.nextInt();
//用函数进行判断
r= panduan(t,c);
System.out.println(r);
}
}