int p,k=0,i;
for (i=0;i<n;i++)
{
if (p%x==1)
k++;
p/=x;
}
有标题可知:
p=x^(y1)+x^(y2)+.....+x^(yn);
例:p=2^0+2^2+2^4;
## 因为p为整数,所以p/2时不足2的1 会成为小数部分会被忽略掉##
进行第一次循环:p%2=1 则 k=1 ,p/2=2^1+2^3;
进行第二次循环:p%2=0 则 k=1 ,p/2=2^0+2^2;
进行第三次循环:p%2=1 则 k=2 ,p/2=2^1;
进行第四次循环:p%2=1 则 k=2 ,p/2=2^0;
进行第五次循环:p%2=1 则 k=3 ,p/2=0;