您的位置:首页 > 其它

Bitset hdoj 2051

2014-07-29 12:02 197 查看
Bitset

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 12378    Accepted Submission(s): 9527

Problem Description

Give you a number on base ten,you should output it on base two.(0 < n < 1000)

 

Input

For each case there is a postive number n on base ten, end of file.

 

Output

For each case output a number on base two.

 

Sample Input

1

2

3

 

Sample Output

1

10

11

 

Author

8600 && xhd

/*从数学上看,左移1位等于乘以2,右移1位等于除以2,然后再取整,移位溢出的丢弃。*/

#include<cstdio>

#include<string.h>

#include<stdlib.h>

#define Max 1000000

char a[Max];

int main()

{

  int n;

  while(~scanf("%d",&n))

  {
 int i=0;
while(n)

  {

 

  if(n&1)

  a[i++]='1';

  else

   a[i++]='0';

  n>>=1;

  }

  while(i--)

   {
printf("%c",a[i]);

   }

   printf("\n");

  }

  return 0;



a[Max]中的Max,最好不要用  const  int  Max=1000000 ;数组清零,此时也不要用memset(a,0,sizeof(a));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: