(任何数字在该公式下生成序列,最终都会递归到1)
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,k,d;
printf("please input the number you want to Binnary expansion: ");
scanf("%d",&n);
for(i=1;i<50;i++)
{
if( (n>=(1<<(i-1))) && (n<(1<<i)))
{k=i; break;}
}
for(i=0;i<k;i++)
{
d=(n>>(k-1-i))&1;
printf("%d",d);
}
printf("\n");
return 0;
}