程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ--1163(C++),九度oj--1163

九度OJ--1163(C++),九度oj--1163

編輯:C++入門知識

九度OJ--1163(C++),九度oj--1163


#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;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved