69.wow 2021-10-25 20:05 采纳率: 20%
浏览 15

孪生素数 不知道有什么思路,直接用ij循环时间又不够

现在给你n,k,想知道有多少对不超过n的素数,它们的差不超过k。也就是说有多少对(p,q),满足p,q都是素数,并且1≤p<q≤n且q≤p+k。

输入格式
第一行两个整数n,k。

输出格式
一行一个整数,表示答案。

样例输入1
10 2
样例输出1
3

样例输入2
1000 50

样例输出2
1337

样例输入3
967400 911694

样例输出3
2888073728

时间限制:2s

空间限制:1GB

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-10-25 20:08
    关注
    #include <stdio.h>
    int isprime(int n)
    {
        for(int i=2;i*i<=n;i++)
            if(n%i==0)
                return 0;
        return 1;
    }
    int main()
    {
        int a[10000];
        int n,k,count=0,num=0;
        scanf("%d%d",&n,&k);
        for(int i=2;i<=n;i++)
            if(isprime(i))
                a[count++] = i;
        for(int i=0;i<count-1;i++)
        {
            for(int j=i+1;j<count;j++)
            {
                if(a[j] - a[i] <= k)
                    num++;
                else 
                    break;
            }
        }
        printf("%d\n",num);
        return 0;
    }
     
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月25日

悬赏问题

  • ¥15 基于python的adams二次开发
  • ¥15 wireMock设定默认文件问题
  • ¥20 NX二次开发TKLTOOS加载不出来
  • ¥15 诚意满满、携手共进、请多关照
  • ¥15 ubuntu下git下来的langchainchatchat没有config目录怎么办(语言-python)
  • ¥15 时间序列异常检测(python)
  • ¥15 anaconda navigator无法选择python版本
  • ¥15 DS1302时钟显示不稳定是怎么回事
  • ¥15 做一个简单的bp500元贵吗?
  • ¥15 为什么点击加入购物车跳转页面应用程序找不到对应的资源该怎么修改