|
|
|
@ -38,10 +38,12 @@ signed main() {
|
|
|
|
|
}
|
|
|
|
|
if (t > 1) p.push_back(t);
|
|
|
|
|
|
|
|
|
|
// 开始容斥
|
|
|
|
|
// 例如有3个因子,那么item=1<<3=8(1000二进制)
|
|
|
|
|
// 然后i从1开始枚举直到7(111二进制),i中二进制的位置1表式取这个位置的因子
|
|
|
|
|
// 例如i=3(11二进制) 表示去前两个因子,i=5(101)表示取第1个和第3个的因子
|
|
|
|
|
/*
|
|
|
|
|
容斥原理
|
|
|
|
|
例如有3个因子,那么1<<3=8(1000二进制)
|
|
|
|
|
然后i从1开始枚举直到7(111二进制),i中二进制的位置1表式取这个位置的因子
|
|
|
|
|
例如i=3(11二进制) 表示取前两个因子,i=5(101)表示取第1个和第3个的因子
|
|
|
|
|
*/
|
|
|
|
|
for (int i = 1; i < (1 << p.size()); i++) {
|
|
|
|
|
int cnt = 0, s = 1;
|
|
|
|
|
for (int j = 0; j < p.size(); j++)
|
|
|
|
|