容斥模板
容斥模板代码,
int solve() { int ans = 0; //是那四个数的倍数的数的数量 for (int i = 1 ; i < (1<<4) ; i++) //选数 { int ant = 0; //选中数的数量 int k = 1; //记录选中数字的乘积 for (int j = 0 ; j < 4 ; j++) { if (i & (1<<j)) //检测第j个数有没有被选中 { ant++; k *= num[j]; } } if (ant & 1) //ant % 2 == 1 表示奇数 ans += n / k; else ans -= n / k; } return ans; }