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);
}
相关推荐
橙露几秒前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
永远是我的最爱几秒前
基于.NET的小小便利店前台收银系统
前端·sqlserver·.net·visual studio
从文处安1 分钟前
「九九八十一难」第一难:前端数据mock指南(TS + VUE)
前端
小程故事多_801 分钟前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
冰暮流星2 分钟前
sql语言之分组语句group by
java·数据库·sql
望舒5134 分钟前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
黎雁·泠崖5 分钟前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖10 分钟前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
NuageL16 分钟前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
Zhencode21 分钟前
Vue3 响应式依赖收集与更新之effect
前端·vue.js