Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

最初と最後のビットを唯一の設定ビットとして持つ数値を出力します


タスクは、2以上2以下の正確に2つのセットビットを持つ指定されたn個の数値を出力することです。

コンピュータ言語の設定ビットは値が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

  1. Cプログラミングの最後の列からスネークパターンで行列を印刷します。

    nxnサイズの配列が与えられた場合、プログラムは、元の場所を変更せずに、最後の列から始まるスネークパターンで配列の要素を出力する必要があります。つまり、arr[0][n]番目の要素からです。 例 Input: arr[]= 100 99 98 97    93 94 95 96    92 91 90 89    85 86 87 88 Output: 97 98 99 100 96 95 94 93 92 91 90 89 88 87 86 85 アルゴリズム START Step 1 -> declare initia

  2. Cプログラムで、配列内の最後に出現する要素を相対的な順序で出力します。

    要素を含む配列a[]が与えられ、タスクは、リスト内の指定された要素の最後の出現を出力することです。ここでは、重複する要素を削除するだけでなく、配列内の要素が最後に発生したときの順序を維持する必要があります。 6つの要素の配列があり、いくつかの重複する値、つまり{1,3、2、3、1、2}も含まれているため、結果は312の形式になります。 例 Input: a[]={4,2,2,4,1,5,1} Output : 2 4 5 1 アルゴリズム START Step 1-> Declare function void printelements(int a[], int n) &nbs