用c++<vector>实现
以n为100为例
代码:
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
vector <int > p[101];
void init()
{
for(int i = 1;i<=100;i++)
{
for(int j = i;j<=100;j+=i)
{
p[j].push_back(i);
}
}
}
int main()
{
init();
for(int i=1;i<=100;i++)
{
for(int j=0;j<p[i].size();j++)
{
int x=p[i][j];
printf("%d ",x);
}
printf("\n");
}
return 0;
}