大水题

链接:https://www.nowcoder.net/acm/contest/75/G
来源:牛客网

题目描述

给出一个数n,求1到n中,有多少个数不是2 5 11 13的倍数。

输入描述:

本题有多组输入
每行一个数n,1<=n<=10^18.

输出描述:

每行输出输出不是2 5 11 13的倍数的数共有多少。
 
   
#include 
#define ll long long
int main() {
	ll n, sum;
	while(~scanf("%lld", &n)) {
		sum = 0;
		sum += n/2;
		sum += n/5;
		sum += n/11;
		sum += n/13;
		
		sum -= n/10;
		sum -= n/22;
		sum -= n/26;
		sum -= n/55;
		sum -= n/65;
		sum -= n/143;
		
		sum += n/110;//13
		sum += n/715;//2
		sum += n/286;//5
		sum += n/130;//11
		
		sum -= n/1430;
		printf("%lld\n", n-sum);
	}
	return 0;
}


你可能感兴趣的:(数论,数学)