• HDU-1390 Binary Numbers


              http://acm.hdu.edu.cn/showproblem.php?pid=1390 

                    Binary Numbers

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2298    Accepted Submission(s): 1460

    Problem Description
    Given a positive integer n, find the positions of all 1's in its binary representation. The position of the least significant bit is 0.
    Example
    The positions of 1's in the binary representation of 13 are 0, 2, 3.
    Task
    Write a program which for each data set:
    reads a positive integer n,
    computes the positions of 1's in the binary representation of n,
    writes the result.
     
    Input
    The first line of the input contains exactly one positive integer d equal to the number of data sets, 1 <= d <= 10. The data sets follow.
    Each data set consists of exactly one line containing exactly one integer n, 1 <= n <= 10^6.
     
    Output
    The output should consists of exactly d lines, one line for each data set.
    Line i, 1 <= i <= d, should contain increasing sequence of integers separated by single spaces - the positions of 1's in the binary representation of the i-th input number.
     
    Sample Input
    1
    13
     
    Sample Output
    0 2 3
     
    Source
     
    Recommend
    Ignatius.L
     
    #include<stdio.h>
    int main()
    {
         int d,n,r,a[100],j,i,f;
         scanf("%d",&d);
         while(d--)
         {
               j=0;
             scanf("%d",&n);
             while(n!=0)
             {
                  r=n%2;
                 a[j++]=r;
                 n=n/2;
             }
             for(i=0;i<j;i++)
                 if(a[i]==1)
                 {
                     f=i;
                     printf("%d",i);
                      break;
                 }
             for(i=f+1;i<j;i++)
                 if(a[i]==1)
                     printf(" %d",i);
                 printf("
    ");
         }
         return 0;
    }
             

  • 相关阅读:
    HDU 6984
    洛谷 P6776
    C语言 error C4996: This function or variable may be unsafe
    C语言 sizeof 函数
    C语言 strlen 函数
    C语言 char 字符串
    C语言 goto 语句
    C语言 switch 语句
    C语言 do while 和 while 循环
    C语言 while 循环
  • 原文地址:https://www.cnblogs.com/cancangood/p/3378010.html
Copyright © 2020-2023  润新知