6/4/16

[C] 166 hãy tìm giá trị đầu tiên trong mảng có dạng 2^k. ko có thì trả về 0

Sách:

  • Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang
Đề bài
  • 166 hãy tìm giá trị đầu tiên trong mảng có dạng 2^k. ko có thì trả về 0
Code
int dang2k(int n)
{
   int du;
   if (n<=1)
       return 1;
   do
   {
       du =  n % 2 ;
       if (du != 0)
           return 0;
       n = n/2;
   } while (n>=2);
   return 1;
}
int bai166(int a[], int n)
{
   for(int i=0 ; i<n; i++)
       if (dang2k(a[i])==1)
           return a[i];
   return 0;
}
Theo Han Huy
Theo code.freetuts.net

0 nhận xét: