time limit: 1 sec memory limit: 128 mb
從m個不同元素中取出n (n ≤ m)個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數。組合數的計算公式如下:
c(m, n) = m!/((m - n)!n!)
現在請問,如果將組合數c(m, n)寫成二進位制數,請問轉這個二進位制數末尾有多少個零。
第一行是測試樣例的個數t,接下來是t個測試樣例,每個測試樣例佔一行,有兩個數,依次是m和n,其中n ≤ m ≤ 1000。
分別輸出每乙個組合數轉換成二進位制數後末尾零的數量。
2 4 2
1000 5001 6
中南大學第四屆大學生程式設計競賽
題解:由題目的描述可知組合數的定義。求乙個數的二進位制末尾0的個數實際上是求這個數可以被2整除多少次,也就是有多少個2的因子。依題目意思,ans=m!因子2的個數-(m-n)!因子2的個數-n!因子2的個數。
ac**:
#include
using
namespace
std;
int fun(int m)
num++;
tmp>>=1;
}m--;
}return num;
}int main()
else
}return
0;}
1021 組合數末尾的零
題目 從m個不同元素中取出n n m 個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數。組合數的計算公式如下 c m,n m m n n 問 如果將組合數 c m,n 寫成二進位制數,這個二進位制數末尾有多少個零?其中n m 1000 案例 sample input 2 4 2100...
1021 組合數末尾的零
題目 description 從m個不同元素中取出n n m 個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數。組合數的計算公式如下 c m,n m m n n 現在請問,如果將組合數c m,n 寫成二進位制數,請問轉這個二進位制數末尾有多少個零。input 第一行是測試樣例的個數t...
組合數末尾的零(CSU)
從m個不同元素中取出n n m 個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數。組合數的計算公式如下 c m,n m m n n 現在請問,如果將組合數c m,n 寫成二進位制數,請問轉這個二進位制數末尾有多少個零。第一行是測試樣例的個數t,接下來是t個測試樣例,每個測試樣例佔一行...