标签:using ring ack fine 个数 black space ace class
输入1个数N(1 <= N <= 10^18)。
输出不是2 3 5 7的倍数的数共有多少。
10
1
容斥定理啦。
代码:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define MAX 101 using namespace std; long long n; long long s[4] = {2,3,5,7}; int main() { scanf("%lld",&n); long long num = n; for(int i = 0;i < 4;i ++) { num -= n / s[i]; for(int j = 0;j < i;j ++) { num += n / (s[i] * s[j]); for(int k = 0;k < j;k ++) { num -= n / (s[i] * s[j] * s[k]); for(int l = 0;l < k;l ++) { num += n / (s[i] * s[j] * s[k] * s[l]); } } } } printf("%lld",num); }
标签:using ring ack fine 个数 black space ace class
原文地址:https://www.cnblogs.com/8023spz/p/9853640.html