輸出僅第一位和末位為已設定位的數字


此任務是列印給定的 n 個數字,其有兩處已設定位,多於 2 或少於 2 的都不行。

計算機語言中已設定的位值為 1,未設定的位值為 0

Input: value of num=5
Output: 1 3 5
   As 1 is equivalent to 1 in binary
      3 is equivalent to 11 in binary
      5 is equivalent to 101 in binary

演算法

START
Step 1 -> declare variable as unsigned int num=5 and int i=1
Step 2 -> print i
Step 3 -> Loop For i=3 and i<=num and ++i
   IF (!(i-1 & i-2))
      Print i
   End
End
STOP

示例

#include <stdio.h>
int main(int argc, char const *argv[]) {
   unsigned int num = 5;
   int i = 1;
   printf("%d ", i); //printing first number 1
   for (i = 3; i <= num; ++i) {
      if(!(i-1 & i-2)) //performing and operation on i-1 and i-2
      printf("%d ", i);
   }
   return 0;
}

輸出

如果我們執行以上程式,它將生成以下輸出

1 3 5

更新於: 30-Jul-2019

173 瀏覽

開啟您的 職業

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.