补充一下,这不是最优的方法,只是最直观的方法!还有更优的方法,待续
#include <iostream>
using namespace std;
int Count1InAInteger(int n)
{
int iNum = 0;
while (n != 0 )
{
iNum += ( n % 10 == 1 )?1:0;
n /=10;
}
return iNum;
}
int f(int n)
{
int icount = 0;
for (int i = 1; i <= n; i++)
{
icount += Count1InAInteger(i);
}
return icount;
}
int main()
{
int n = 12;
cout<<f(n)<<endl;
system("pause");
return 0;
}