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);
}
相关推荐
Lovely_Ruby3 分钟前
前端er Go-Frame 的学习笔记:实现 to-do 功能(一)
前端·后端
开源之眼6 分钟前
github star 较多的Java双亲委派机制【类加载的核心内容加星】
java
编程火箭车8 分钟前
【Java SE 基础学习打卡】19 运算符(中)
java·java入门·运算符·编程基础·赋值运算符·复合赋值·自增自减
是一个Bug8 分钟前
Spring事件监听器源码深度解析
java·数据库·spring
脾气有点小暴8 分钟前
uniapp通用递进式步骤组件
前端·javascript·vue.js·uni-app·uniapp
问道飞鱼9 分钟前
【前端知识】从前端请求到后端返回:Gzip压缩全链路配置指南
前端·状态模式·gzip·请求头
蜂蜜黄油呀土豆12 分钟前
ThreadLocal 深度解析:它解决了什么、原理是什么、如何正确使用(含代码与实战建议)
java·并发编程·内存泄漏·threadlocal
小杨累了15 分钟前
CSS Keyframes 实现 Vue 无缝无限轮播
前端
小扎仙森16 分钟前
html引导页
前端·html
毕设源码-郭学长17 分钟前
【开题答辩全过程】以 高校教室管理系统为例,包含答辩的问题和答案
java·spring boot