您的位置:首页 > 其它

51Nod-1284 2 3 5 7的倍数

2017-11-05 04:33 253 查看
1284 2 3 5 7的倍数

题目链接:https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=390202

题目
给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。
Input
输入1个数N(1 <= N <= 10^18)。
Output
输出不是2 3 5 7的倍数的数共有多少。
Input示例
10
Output示例
1

题解:基本的组合数学做法,求得2,3,5,7的个数以及分别求他们直接两者、三者、四者的个数,最后运用组合数学的          求法求得。
AC代码:
#include<iostream>
using namespace std;
long long n;
long long a,b,c,d;
int main()
{
cin>>n;
a = n/2;
b = n/3;
c = n/5;
d = n/7;
long long x = n/6;
long long y = n/10;
long long z = n/14;
long long k = n/15;
long long l = n/21;
long long g = n/35;
long long x1 = n / 30;
long long x2 = n / 42;
long long x3 = n / 105;
long long x4 = n / 70;
long long xx = n / 210;
long long sum =n-a-b-c-d+x+y+z+k+l+g-x1-x2-x3-x4+xx;
cout<<sum<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: