⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1319f.cpp

📁 ACM 威士忌部分答案
💻 CPP
字号:
/*
1319f Prime Cuts
Time Limit : 1000 ms  Memory Limit : 32768 K  Output Limit : 256 K

GUN C++
*/
#include<iostream>
#include<cmath>
using namespace std;

bool Isprime(int number)
{
//用2、3、4…Sqrt(n)去除n
for(int i=2;i<=sqrt(number);i++)
  if(number%i==0)
      return false;
  return true;//没有一个试用除数能被n整除时,则n是素数
}


int main()
{
   //input
    int Num,C,PrimeList[200],i,j,k,length;
    while(cin>>Num>>C)
    {
       //init
        j=0;
        length=0;
       //compute PrimeList
        for(i=1;i<=Num;i++)
        {
            if(Isprime(i))
            {
                PrimeList[j]=i;
                j++;
                length++;
            }
        }
        PrimeList[j]='\0';


        cout<<Num<<" "<<C<<": ";
        if(2*C-1>=length&&length%2!=0)   //长度为奇数,直径大于表长
        {

            for(k=0;k<length-1;k++)
                cout<<PrimeList[k]<<" ";
            cout<<PrimeList[k]<<endl;
        }
        else
            if(2*C>=length&&length%2==0)  //偶数,直径大于表长
            {

                for(k=0;k<length-1;k++)
                    cout<<PrimeList[k]<<" ";
                cout<<PrimeList[k]<<endl;
            }
            else
            {
                if(length%2==0)
                {
                    for(k=(length/2-C);k<(length/2-C)+2*C-1;k++)
                        cout<<PrimeList[k]<<" ";
                    cout<<PrimeList[k]<<endl;
                }
                else
                {
                    for(k=(length/2-C+1);k<(length/2-C+1)+2*C-1-1;k++)
                        cout<<PrimeList[k]<<" ";
                    cout<<PrimeList[k]<<endl;
                }
            }
        cout<<endl;
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -