fafu 1079 幫冬兒忙 組合數包含因數個數

2022-03-29 20:05:16 字數 909 閱讀 9930

對於本題的因數m,只需要將其化為素因子的乘積形式,其中每乙個素因子的個數為mi,之後只需要求得每乙個素因子pi在組合數中的個數ci,然後將取ci/mi中的最小的那個,就是該因數在組合數中的個數。

**如下:

/*

* fafu1079.c

** created on: 2011-10-9

* author: bjfuwangzhu

*/#include

#include

#include

#define nmax 31625

int flag[nmax], prime[nmax], pfactor[nmax], cpfactor[nmax];

int plen, cplen;

//打素數表

void mkprime()

for (j = 0; (j < plen) && (i * prime[j] < nmax); j++) }}

}//將k化成素因子的乘積的形式

void findfactor(int k)

pfactor[cplen] = prime[i];

cpfactor[cplen++] = cnt;}}

if (k > 1) }//

獲得素因子p在1*2*··n中的個數

int getnum(int n, int m)

return res;}//

獲得素因子是在組合數中的個數,

//並憑藉該素因子在因數k中的個數,得到該因數k在組合數中的個數

int cal(int i, int n, int m)

int main()

}printf("

%d\n

", res);

}return

0;}

fafu 1252 指數冪序列

view code fafu 1252 指數冪序列 這題題意很清楚,3的正整數指數冪序列1,3,9,27,81,則第 i 小的組合分別為,若第i 小的組合 的最大乙個數字 n 則前面所有數和來的大,這個可以 自己推看看 我沒推出來,不過自己列一些組合出來,再yy下,應該是這樣的 因此可用2 進製數做...

1079 活字印刷

題目描述 你有一套活字字模 tiles,其中每個字模上都刻有乙個字母 tiles i 返回你可以印出的非空字母序列的數目。注意 本題中,每個活字字模只能使用一次。示例 1 輸入 aab 輸出 8 解釋 可能的序列為 a b aa ab ba aab aba baa 示例 2 輸入 aaabbc 輸出...

hdu1079博弈 規律

不論是月份加一,還是日期加一,奇偶性 月 天 都會改變,2月也是一樣,9月30日和11月30日例外。那麼目標日期是11月4日,為奇數。初始日期如果為偶數的話,先者必勝。考慮特殊是日期,兩個特殊日期本來為奇數,移動一步還是奇數。那麼會不會在中途經過這兩個日期呢。如果本來為偶數,如果經過特殊日期就會改變...