zoukankan      html  css  js  c++  java
  • poj2739(尺取法+质数筛)

    题意:给你一个数,问这个数能否等于一系列连续的质数的和;

    解题思路:质数筛打出质数表;然后就是尺取法解决;

    代码:

    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #define maxn 1000005
    using namespace std;
    int visit[maxn];int prime[maxn];
    void qprime()
    {
        memset(visit,0,sizeof(visit));
        int num=0;
        for(int i=2;i<maxn;i++)
        {
            if(!visit[i])
                prime[++num]=i;
            for(int j=1;j<=num&&i*prime[j]<maxn;j++)
            {
                visit[i*prime[j]]=1;
                if(!i%prime[j])
                    break;
            }
        }
    }
    int main()
    {
        int left=1;int right=1;
        int n;
        int sum=0;
        int count=0;
        qprime();
        while(cin>>n)
        {
            if(n==0)
                return 0;
            left=right=1;sum=0;count=0;
            while(1)
            {
                while(right<=n&&sum<n)
                {
                    sum+=prime[right++];
                }
                if(sum<n)
                    break;
                if(sum==n)
                {
                    count++;
                }
                sum-=prime[left++];
            }
            cout<<count<<endl;
        }
        return 0;
    }
  • 相关阅读:
    [洛谷P5408]第一类斯特林数·行
    11 React 组件生命周期
    10 React 组件 API
    9 React 列表 & Keys
    8 React 条件渲染
    7 React 事件处理
    6 React Props
    5 React State(状态)
    4 React 组件
    3 JSX语法
  • 原文地址:https://www.cnblogs.com/huangdao/p/8329017.html
Copyright © 2011-2022 走看看