容斥例程 hdu 4135 Co-prime
2016-08-03 18:48
405 查看
#include <stdio.h> #include <iostream> #include <algorithm> #include <cstring> #define INF ((1<<31)-1) using namespace std; typedef long long llt; int Factor[100000]; int fi = 0; ///计算质因子 void sieve( int n ){ fi = 0; for (int i = 2;i*i <= n;++i){ if ( 0 == n%i ) Factor[fi++] = i; while( 0 == n%i) n /= i; } if (n>1) Factor[fi++] = n; } int main(){ int t,kase(1); scanf("%d",&t); while(t--){ llt a,b,k; scanf("%I64d%I64d%I64d",&a,&b,&k); sieve(k); //cout <<"fi : "<<fi<<endl; llt ans = 0,tmp,flag; for (int i = 1;i < (1<<fi);++i){ tmp = 1, flag = 0; for (int j = 0;j < fi;++j) if ( i & (1<<j) ){ flag++; tmp *= Factor[j]; } if ( flag&1 ) ans += (b/tmp - (a-1)/tmp); else ans -= (b/tmp - (a-1)/tmp); } printf("Case #%d: %I64d\n",kase++,b-a+1-ans); } return 0; }
相关文章推荐
- HDU 4135 Co-prime 区间内与n互质的个数 容斥(入门
- HDU 4135 Co-prime (容斥)
- HDU 4135 Co-prime (容斥)
- hdu 4135 Co-prime 复习容斥
- 【容斥】HDU 4135 Co-prime
- HDU - 1796 How many integers can you find && HDU 4135 Co-prime (容斥)
- HDU 4135 Co-prime [容斥定理]【数论】
- hdu 4135 Co-prime (组合数学:容斥定理+欧拉函数)
- hdu 4135 Co-prime (容斥)
- hdu 4135 Co-prime(容斥)
- HDU 4135 Co-prime (分解质因数 + 容斥)
- 【HDU】4135 Co-prime(容斥原理简单应用 质因子的分解)
- HDU -- 4135 Co-prime【质因子分解+状压 + 容斥定理】+ 模板
- HDU 4135-Co-prime(容斥求区间内与N互质的个数(队列||位运算))
- 容斥 - HDU 4135 Co-prime
- HDU 4135 Co-prime(容斥原理求互质数)
- hdu 4135 Co-Prime 容斥入门
- 容斥 - HDU 4135 Co-prime
- hdu 4135 co-prime
- HDU 5072 Coprime(同色三角形+容斥)