输入一个整数 n ,求 1~n 这 n 个整数的十进制表示中 1 出现的次数
例如, 1~13 中包含 1 的数字有 1 、 10 、 11 、 12 、 13 因此共出现 6 次
输入
13
输出
6
public class Solution {
public int NumberOf1Between1AndN_Solution(int n) {
int count=0;
StringBuffer s=new StringBuffer();
for(int i=1;i<n+1;i++){
s.append(i);
}
String str=s.toString();
for(int i=0;i<str.length();i++){
if(str.charAt(i)=='1')
count++;
}
return count;
}
}
#include<bits/stdc++.h>
using namespace std;
int x,sum;
int main(){
cin>>x;
for(int i=1;i<=x;i++){
int k=i;
while(i>0){
int j=i%10;
if(j==1) sum++;
i/=10;
}
i=k;
}
cout<<sum;
return 0;
}