3 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=200010; vector<int> g[N]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { for(int j=1;j<=n/i;j++) { g[i*j].push_back(i); //将i放到i的倍数后面 } } for(int i=1;i<=n;i++) { printf("%d:",i); for(int j=0;j<g[i].size();j++) { printf("%d ",g[i][j]); } printf("\n"); } return 0; }
Information
- ID
- 182
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 89
- Accepted
- 15
- Uploaded By