1049 Counting Ones PATJAVA版
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
long num=sc.nextLong();
long t=1,sum=0;
while(num/t>=1){
long x=(num%(t*10))/t;//单独拿出个位、十位、百位。。。
if(x<1){//这个数小于1
sum+=num/(t*10)*t;//这个数前面位数组合成的数字乘以这位数字会出现的次数
}else if(x==1){
sum+=num/(t*10)*t+num%t+1;
}else{
sum+=num/(t*10)*t+t;
}
t*=10;
}
System.out.println(sum);
}
}