zoukankan      html  css  js  c++  java
  • hdu4135Co-prime 容斥原理水题

    //问一个区间[a,b]与n互素的数的个数
    //利用容斥原理可知
    //在[a,b] 区间内对n的素数因子
    //ans = 被一个数整除的数的个数 - 被两个数的最小公倍数整除的数的个数 + 被三个数的。。。
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std ;
    const int maxn = 100010 ;
    typedef __int64 ll ;
    ll p[maxn] ;int len ;
    void get_prime(ll n)
    {
        len = 0 ;
        for(ll i = 2;i*i <= n;i++)
        {
            if(n%i == 0)p[++len] = i ;
            while(n%i == 0)n/=i ;
        }
        if(n>1)p[++len] = n;
    }
    ll dfs(int pos , ll n)
    {
        ll ans = 0 ;
        for(int i = pos ;i <= len ;i++)
            ans += n/p[i] - dfs(i+1 , n/p[i]) ;
        return ans ;
    }
    int main()
    {
        ll a , b ,n ;
        int T ;
        int cas =  0 ;
        scanf("%d" ,&T) ;
        while(T--)
        {
            scanf("%I64d%I64d%I64d" , &a , &b , &n);
            get_prime(n) ;
            ll ans = (b - dfs(1 , b)) - (a  - 1 - dfs(1 , a-1)) ;
            printf("Case #%d: " ,++cas) ;
            printf("%I64d " , ans) ;
        }
        return  0 ;
    }







  • 相关阅读:
    路由追踪BestTrace命令详解
    python MD5 信息摘要
    BFD 协议介绍
    IPSec 详细分析 二
    什么是分光器
    聊聊编码与解码(弄懂bytes,utf8,ascii,unicode)
    OS实践1: Windows 11 配置 WSL
    Mac上录屏录音
    同步相关 及音量
    iOS相关文档
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5282763.html
Copyright © 2011-2022 走看看