XDOJ-1002最喜欢的数字

简介: 大神代码赏析:#include#define N 100000int main(){ int e[N+1] = {0}, p[N], pn = 0, an, m, i, j, t; for(i = 2; i
大神代码赏析:
#include<stdio.h>
#define N    100000
int main()
{
    int e[N+1] = {0}, p[N], pn = 0, an, m, i, j, t;

    for(i = 2; i <= N; e[i++] = 1);

    for(i = 2; i <= N; i++)
    if(e[i]) for(p[pn++] = i, j = i + i; j <= N; j += i) e[j] = 0;

    for(an = pn, i = 0; an < N - 1; i++)
    {
        if((t = p[i] + 1) <= N && !e[t]) e[p[an++] = t] = e[p[i]] + 1;

        for(j = 0, m = N / p[i]; j < pn && p[j] <= m; j++)
        if(!e[t = p[i] * p[j]]) e[p[an++] = t] = e[p[i]] + 1;
    }

    for(i = 3; i <= N; i++) e[i] += e[i - 1];

    while(scanf("%d%d", &i, &j) != EOF) printf("%d\n", e[j] - e[i - 1]);

    return 0;
}


目录
相关文章
|
6月前
|
算法 前端开发
619. 只出现一次的最大数字
619. 只出现一次的最大数字
66 0
|
10天前
使用数字
【10月更文挑战第25天】使用数字。
14 6
|
10天前
倒三角形数字
【10月更文挑战第25天】倒三角形数字。
20 3
|
4月前
|
容器
只出现一次的数字
只出现一次的数字
23 0
|
6月前
|
存储 算法 C++
c++数字
c++数字
27 1
|
5月前
|
人工智能 安全 算法
数字文盲
在数字时代,避免边缘化的关键是正视挑战、持续学习数字技能、关注伦理安全和推广数字素养教育。从基础操作到数据分析,提升数字素养能帮助我们适应变革,同时保护隐私和安全,确保在科技发展中不落伍,共建包容的数字社会。
|
6月前
|
算法 C++
只出现一次的数字(C++)
只出现一次的数字(C++)
37 0
137. 只出现一次的数字 II
137. 只出现一次的数字 II
54 0
|
编解码 人工智能 自然语言处理
SIGGRAPH2023|DreamFace:一句话生成 3D 数字人?
SIGGRAPH2023|DreamFace:一句话生成 3D 数字人?
184 0