笔记---打约数表nlogn

#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;

#define N 100005

vector<int>  v[N+1];

void pre()
{
   for(int i=2;i<=sqrt(N);i++)
    for(int j=i*i;j<=N;j+=i)
      v[j].push_back(i);

    for(int i=1;i<=N;i++)
      {
       v[i].push_back(1);
      }
}


int main()
{
   pre();
   for(int i=4;i<100;i++)
    {
       for(int j=0;j<v[i].size();j++)
         cout<<v[i][j]<<" "<<i/v[i][j]<<" ";
        cout<<endl;
    }
}
原文地址:https://www.cnblogs.com/814jingqi/p/3273580.html