素数を求めて、vectorの保存の実現方法を使います。

1015 ワード

PS:足りないところがあれば、指摘してください。

// tentotwo.cpp : 。
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
void GetPrimer(int n, vector<int>& vet)
{
 for (int i = 2; i <= n; i++)
 {
  vet.push_back(i);
 }
 vector<int>::iterator ite = vet.begin();
 while (ite != vet.end())
 {
  vector<int>::iterator tmpite = ite + 1;
  while (tmpite != vet.end())
  {
   if ((*tmpite)%(*ite) == 0)
   {
    tmpite = vet.erase(tmpite);
   }
   else
   {
    tmpite ++;
   }
  }  
  ite ++;
 } 
}
int _tmain(int argc, _TCHAR* argv[])
{
 vector<int> vet;
 GetPrimer(100, vet);
 vector<int>::iterator ite = vet.begin();
 while (ite != vet.end())
 {
  cout << *ite << " ";
  ite ++;
 }
 cout << endl;
 return 0;
}