#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e3+10;//浅试了一下,顶天开到1e6
vector<int> factor[N];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n/i;j++)
{
factor[i*j].push_back(i);
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<factor[i].size();j++)
printf("%d ",factor[i][j]);
puts("");
}
return 0;
}
还有一种
for(int i=1;i<=1000000;i++)
for(int j=i;j<=1000000;j+=i)
factor[j]++; //预处理约数个数