数字1的数量
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
描述
给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。
例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。
输入
输入N(0 <= N <= 10^9)
多组测试数据
输出
输出包含1的个数
样例输入
12
样例输出
5
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long arr[] = new long[1000005];
for (int i = 1; i < 1000005; i++) {
int temp = i;
arr[i] = arr[i - 1];
while (temp > 0) {
if (temp % 10 == 1) {
arr[i]++;
}
temp /= 10;
}
}
while (scanner.hasNext()) {
int number = scanner.nextInt();
System.out.println(arr[number]);
}
}
}