Project Euler_Problem 193_Few Repeated Digits_欧拉筛+容斥公式

原题目:

题目大意:

解题思路:

代码:

cpp 复制代码
void serch(ll I,ll sum,ll used) {
    ll i, j, l, x,y;

    
    for (i = 1; i < I; i++) {
        if (sum * D[i] > N)break;
        x = sum * D[i];
        y = N / x;

        if (used % 2 == 0) {
            ans1 = ans1 - y;
        }
        else {
            ans1 = ans1 + y;
        }

        serch(i, x, used + 1);

    }

}


void solve() {
    ll i, j,k,x,y,z,p,q,u,v;
    N = (( (ll)1 )<<50), NN = 4;
    //N = 20;
    double a, b, c,d;
    M.NT.get_prime_Euler(100000000);
    
    for (i = 1; i <= M.NT.pcnt; i++) {
        x = M.NT.prime[i];
        if (x * x > N)break;
    }

    ll len = i - 1;

    for (i = 1; i <= len; i++) {
        D[i] = M.NT.prime[i] * M.NT.prime[i];
        ans1 = ans1 + N / D[i];
    }

    for (i = len; i >= 1; i--) {
        serch(i, D[i], 2);
    }
    

    printf("%lld\n",N-ans1);
}
相关推荐
foundbug9996 小时前
Modbus协议C语言实现(易于移植版本)
java·c语言·前端
Luna-player6 小时前
在前端中list.map的用法
前端·数据结构·list
听风吟丶6 小时前
Java 反射机制深度解析:从原理到实战应用与性能优化
java·开发语言·性能优化
一缕猫毛6 小时前
Flink demo代码
java·大数据·flink
用户47949283569156 小时前
面试官问 React Fiber,这一篇文章就够了
前端·javascript·react.js
小安同学iter6 小时前
天机学堂-优惠券功能-day09(七)
java·spring cloud·微服务·jenkins·优惠券·天机学堂
it_czz6 小时前
MCP调用流程图
java
LYFlied6 小时前
【一句话概述】Webpack、Vite、Rollup 核心区别
前端·webpack·node.js·rollup·vite·打包·一句话概述
爱学习的小可爱卢6 小时前
JavaEE进阶——SpringBoot统一功能处理实战指南
java·spring boot·java-ee
reddingtons6 小时前
PS 参考图像:线稿上色太慢?AI 3秒“喂”出精细厚涂
前端·人工智能·游戏·ui·aigc·游戏策划·游戏美术