• 2015苏州大学ACM-ICPC集训队选拔赛(2)1004


    草爷要的数

    Problem Description

    今天校队队员们准备放松一下,我们队就准备选一些数字玩,然而每个人喜欢的数字是不同的,刻盘喜欢x(1<=x<=1^9),凯凯喜欢y(1<=y<=1^9),而我则喜欢z(1<=z<=1^9),争论不出结果的情况下,我们决定只要是这三个数中任意一个数的倍数我们都取,为了满足游戏要求,我们还决定只要[a,b]范围内的数(1<=a<=b<=1^18),请问满足要求的数一共有多少呢?

    注:求a和b的最大公因数函数:
    long long gcd(long long a,long long b){
      return b?gcd(b,a%b):a;
    }

    Input

    多组数据(<=1000),请读到文件结尾。
    每组数据一行5个整数,x,y,z,a,b,含义及数据范围如题目描述。
    注意使用 long long

    Output

    对于每组数据输出一个整数,表示满足要求的数的个数,每个结果占一行。

    Sample Input

    2 3 5 1 10
    4 6 9 5 20
    4 4 8 10 20
    

    Sample Output

    8
    7
    3
    

    Author

    奚政

     容斥。。。

    #include<stdio.h>
    //#include<bits/stdc++.h>
    #include<string.h>
    #include<iostream>
    #include<math.h>
    #include<sstream>
    #include<set>
    #include<queue>
    #include<map>
    #include<vector>
    #include<algorithm>
    #include<limits.h>
    #define inf 0x3fffffff
    #define INF 0x3f3f3f3f
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    #define LL long long
    #define ULL unsigned long long
    using namespace std;
    LL x,y,z,a,b;
    long long gcd(long long a,long long b)
    {
        return b?gcd(b,a%b):a;
    }
    long long lcm(long long n, long long m)
    {
        long long p = gcd(n, m);
        return (n/p*m);
    }
    LL SUM(LL x)
    {
        LL sum=0;
        sum+=(b/x)-(a-1)/x;
        return sum;
    }
    int main ()
    {
    
        while(cin>>x>>y>>z>>a>>b)
        {
            LL sum_1=0,sum_2=0,sum_3=0;
            LL sum_4=0;
            LL sum_5=0;
            sum_1+=SUM(x);
            sum_2+=SUM(y);
            sum_3+=SUM(z);
           // cout<<lcm(x,y)<<endl;
            sum_4+=SUM(lcm(x,y))+SUM(lcm(x,z))+SUM(lcm(y,z));
            sum_5+=SUM(lcm(lcm(x,y),lcm(y,z)));
            cout<<sum_1+sum_2+sum_3-sum_4+sum_5<<endl;
    
        }
        return 0;
    }
    

      

  • 相关阅读:
    HTML学习笔记2
    HTML的学习笔记
    Unsupported major.minor version 51.0解决办法
    java出现The type java.lang.Object cannot be resolved. It is indirectly referenced.....解决办法
    切片
    switch语句
    if-else语句与for循环
    闭包函数
    函数
    常量
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/5136597.html
Copyright © 2020-2023  润新知