LZ_Jaja

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

#include <iostream>
#include <vector>

using namespace std;

int main() {

  int n;

  while(cin>>n) {

    vector<int> vec;

    int num = 0; // num用来记录1~n中共有多少个符合要求的素数,其实只是0和非0的区别

    for(int i=11; i<n; i++) {

      int flag = 0; // flag意在判断对于某个整数i是否为素数,若为素数flag=1,否则flag=0

      for(int k=2; k<i/2+1; k++) { // 若判定条件为k<sqrt((double)i),则结果错误

        // 一旦除尽证明i不是素数,判断下一个i即可
        if(i%k == 0) {
          flag = 0;
          break;
        }
        // 若没有除尽,则继续循环
        else {
          flag = 1;
          continue;
        }
      }

      if(flag == 0) { // i不是素数
        continue;
      }
      else { // i是素数
        if(i%10 == 1) { // i的个位是1
          vec.push_back(i);
          num = num + 1;
          continue;
        }
        else { //i的个位不是1
          continue;
        }
      }
    }

    if(num == 0) {
      cout<<"-1"<<endl;
    }
    else {
      for(int m=0; m<vec.size()-1; m++) {
        cout<<vec[m]<<" ";
      }
      cout<<vec[vec.size()-1]<<endl;
    }

  }

  return 0;

}

posted on 2016-05-31 09:24  LZ_Jaja  阅读(275)  评论(0编辑  收藏  举报