3 条题解

  • 2

    #include<bits/stdc++.h>
    using namespace std;
    int m[80000],kk=0,h,a,b;
    int main()
    {
    for(int i=2;i<=1000000;i++)
    {
    int f=0;
    for(int j=2;j*j<=i;j++)
    if(i%j==0)
    {
    f=1;
    break;
    }
    if(f==0)
    {
    kk++;
    m[kk]=i;
    }
    }
    int k,u=0;
    cin>>k;
    while(u<k)
    {
    u++;
    scanf("%d%d",&a,&b);
    h=1;
    while(m[h]<a&&h<=kk)
    {
    if(m[h+1000]<a&&h+1000<=kk)h+=1000;
    else h++;
    }
    int hh=h;
    h=1;
    while(m[h]<b&&h<=kk)
    {
    if(m[h+1000]<b&&h+1000<=kk)h+=1000;
    else h++;
    }
    if(m[h]!=b)h--;
    if(h<hh||h==hh)
    {
    if(h<hh)cout<<0<<endl;
    else cout<<1<<endl;
    continue;
    }
    cout<<h-hh+1<<endl;
    }
    return 0;
    }
    //兄弟们也是终于做出来了,及得点个赞

    • @ 2026-07-28 18:25:33

      你为啥不用代码块啊?

  • 1

    #include <iostream>
    using namespace std;

    int ackermann(int m, int n) {
    if (m == 0) {
    return n + 1;
    } else if (n == 0) {
    return ackermann(m - 1, 1);
    } else {
    return ackermann(m - 1, ackermann(m, n - 1));
    }
    }

    int main() {
    int m, n;
    cin >> m >> n;
    cout << ackermann(m, n);
    return 0;
    }//一定对,不对我倒立

    • @ 2026-07-28 18:26:15

      你为啥不用代码块啊?

  • 0
    #include<bits/stdc++.h>
    using namespace std;
    int m[80000],kk=0,h,a,b;
    int main()
    {
        for(int i=2;i<=1000000;i++)
        {
            int f=0;
            for(int j=2;j*j<=i;j++)
                if(i%j==0)
                {
                    f=1;
                    break;
                    }
                        if(f==0)
                    {
                        kk++;
                        m[kk]=i;
                    }
                    }
                        int k,u=0;
                        cin>>k;
                        while(u<k)
                    {
                        u++;
                        scanf("%d%d",&a,&b);
                        h=1;
                        while(m[h]<a&&h<=kk)
                    {
                        if(m[h+1000]<a&&h+1000<=kk)h+=1000;
                        else h++;
                    }
                        int hh=h;
                        h=1;
                        while(m[h]<b&&h<=kk)
                    {
                        if(m[h+1000]<b&&h+1000<=kk)h+=1000;
                        else h++;
                    }
                    if(m[h]!=b)h--;
                    if(h<hh||h==hh)
                {
                if(h<hh)cout<<0<<endl;
                else cout<<1<<endl;
                continue;
            }
            cout<<h-hh+1<<endl;
        }
        return 0;
    }
    
  • 1

信息

ID
1008
难度
2
分类
(无)
标签
递交数
83
已通过
48
通过率
58%
被复制
10
上传者