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);
}
相关推荐
xing-xing4 分钟前
Java大模型开发框架Spring AI
java·人工智能·spring
Coder_Boy_7 分钟前
【DDD领域驱动开发】基础概念和企业级项目规范入门简介
java·开发语言·人工智能·驱动开发
小付爱coding10 分钟前
本地部署dify教程【windows11版本】
java·ai·dify
morning_judger11 分钟前
JavaScript封装演进史:从全局变量到闭包
开发语言·javascript
y1y1z13 分钟前
Spring Security教程
java·后端·spring
spencer_tseng13 分钟前
jquery.min.js v1.12.4
javascript·jquery
派大鑫wink15 分钟前
Python 流程控制实战:打造文字版数独小游戏(新手友好)
服务器·前端·microsoft
MYMOTOE615 分钟前
ISC-3000S的U-Boot 镜像头部解析
java·linux·spring boot
CoderYanger18 分钟前
A.每日一题——3606. 优惠券校验器
java·开发语言·数据结构·算法·leetcode
飛67925 分钟前
玩转 Flutter 自定义 Painter:从零打造丝滑的仪表盘动效与可视化图表
开发语言·javascript·flutter