约数

it2026-10-01  9

 

int factor[1600], m = 0; for(int i = 1; i <= sqrt(n); i++){ if(n%i == 0){ factor[++m] = i; if(i != n%i) factor[++m] = n/i; } } for(int i = 1; i <= m; i++){ cout << factor[i] << " "; }

 

vector<int> factor[500010]; 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]); } printf("\n"); } }

 

 

最新回复(0)