NOI库7827 质数的和与积

来源:互联网 发布:欢乐颂人物分析 知乎 编辑:程序博客网 时间:2024/05/24 06:50

题目:http://noi.openjudge.cn/math/7827/
分析:类似正方形和最大问题,越平分越面积越大
代码:

#include <cstdio>#include <algorithm>using namespace std;const int Tmax=10005;int n;bool v[Tmax];void init(){    int i,j;    v[1]=true;    for(i=2;i<=n;i++)      for(j=i+i;j<=n;j+=i)        v[j]=true;    return;}void work(){    int i,j,sum=0;    if(n%2==0)    {        i=j=n/2;        while(v[i]==true||v[j]==true)        {            i++;            j--;        }        sum=i*j;    }    else {        i=(n+1)/2;        j=i+1;        while(v[i]==true||v[j]==true)        {            i++;            j--;        }        if(i+j==n&&v[i]==false&&v[j]==false) sum=i*j;        j=(n+1)/2;        i=j-1;        while(v[i]==true||v[j]==true)        {            i++;            j--;        }        if(i+j==n&&v[i]==false&&v[j]==false) sum=max(sum,i*j);    }    printf("%d",sum);    return;}int main(){    scanf("%d",&n);    init();     work();    return 0;}
0 0
原创粉丝点击