當前位置:編程學習大全網 - 網站源碼 - 從5種不同顏色的球中取三個球,要求這三個球每個顏色都不壹樣,問:有多少種取法?用C語言或偽代碼實現.

從5種不同顏色的球中取三個球,要求這三個球每個顏色都不壹樣,問:有多少種取法?用C語言或偽代碼實現.

這個問題可以用二進制位來表示

5個二進制位代表五種顏色的球

要找的組合就是三個位是1兩個位是0的那部分

#include <stdio.h>

int main(void)

{

int i;

int count;

int n = 0;

for (i = 7; i <= 28; i++)

{

count = 0;

if ((i & 1) == 1)

count++;

if ((i & 2) == 2)

count++;

if ((i & 4) == 4)

count++;

if ((i & 8) == 8)

count++;

if ((i & 16) == 16)

count++;

if (count == 3)

{

printf("%d\n", i);

n++;

}

}

printf("\n%d", n);

}

7 二進制 是 111

28 二進制 是 11100

因為是5取三 所以循環從7 到 28

結果是 10 種

  • 上一篇:C#如何實現從後臺代碼從取得圖片,從而在前臺顯示?
  • 下一篇:機甲大師python源代碼
  • copyright 2024編程學習大全網