URAL 1055 Combinations
生活随笔
收集整理的這篇文章主要介紹了
URAL 1055 Combinations
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
URAL_1055
??? 將組合數(shù)展開(kāi)后的每個(gè)數(shù)依次分解素因子,最后再統(tǒng)計(jì)一下有多少種素因子就可以了。
#include<stdio.h> #include<string.h> #define MAXD 1010 #define MAXN 50010 int N, M, isprime[MAXD], prime[MAXD], P, h[MAXN]; void prepare() {int i, j;P = 0;memset(isprime, -1, sizeof(isprime));for(i = 2; i <= 1000; i ++)if(isprime[i]){prime[P ++] = i;for(j = i * i; j <= 1000; j += i)isprime[j] = 0;} } void deal(int n, int d) {int i;;for(i = 0; prime[i] * prime[i] <= n; i ++)while(n % prime[i] == 0)h[prime[i]] += d, n /= prime[i];h[n] += d; } void solve() {int i, ans = 0;memset(h, 0, sizeof(h));for(i = N - M + 1; i <= N; i ++)deal(i, 1);for(i = 1; i <= M; i ++)deal(i, -1);for(i = 2; i <= N; i ++)if(h[i])++ ans;printf("%d\n", ans); } int main() {prepare();while(scanf("%d%d", &N, &M) == 2){solve();}return 0; } 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的URAL 1055 Combinations的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 感HPU学风
- 下一篇: nginx+fastcgi+c/c++搭