#include<stdio.h>
int main()
{
int i;
int num;
int count = 0;
scanf("%d",&num);
int t;
for(i = 1; i <= num; i++)
{
t = i;
while(t)
{
if(t%10 == 1)
{
count++;
}
t=t/10;
}
}
printf("%d",count);
return 0;
int main()
{
int i;
int num;
int count = 0;
scanf("%d",&num);
int t;
for(i = 1; i <= num; i++)
{
t = i;
while(t)
{
if(t%10 == 1)
{
count++;
}
t=t/10;
}
}
printf("%d",count);
return 0;
}
思路是从1循环到num,循环到的数对10取余数,看个位;过后再除以10,看十位,依次,百位、千位……如果是1count就加1