69,374
社区成员
发帖
与我相关
我的任务
分享
public static int search(int _n)
{
int N = _n/10;
int a1 = _n%10,a2;
int x = 1;
int ten = 10;
int c = a1 == 0?0:1;
while(N > 0)
{
a2 = N%10;
if(a2 == 0);
else if(a2 == 1)c = a1 + 1 + x + c;
else c = a2*x + c + ten;
a1 = 10*a1 + a2;
N /=10;
x = 10*x + ten;
ten *= 10;
}
return c;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int GetOneCount(int x)
{
char szNum[32] = {0};
itoa(x, szNum, 10);
int nCount = strlen(szNum);
int nRet = 0;
while (nCount--)
{
if (x % 10 == 1)
{
nRet++;
}
x /= 10;
}
return nRet;
}
int main(int argc, char *argv[])
{
int nEnd = 13;
int nSum = 0;
for (int i = 1; i <= nEnd; i++)
{
nSum += GetOneCount(i);
}
printf("1的个数(1~%d):%d\n", nEnd, nSum);
return 0;
}
#include <iostream>
using namespace std;
int func(int x)
{
int countx = 0;
while (x)
{
countx++;
x=x&(x-1);
}
return countx;
}
int main()
{
int n = 0;
cin >> n;
for(int i = 1; i <= n; ++i)
{
cout << i << "的二进制中,1的个数为:\t" << func(i) << endl;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int count1(int n)
{
int ct=0;
while(n>0)
{
if (n%10==1)
ct++;
n/=10;
}
return ct;
}
int main()
{
int i,n,ct=0;
printf("Please input a number:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
ct+=count1(i);
printf("%d\n",ct);
system("pause");
return 0;
}
//---------------------------------------------------------------------------