如何求出整数因子分解式并输出

下面是我编写的自低向上求整数因子个数的方法:

int main() {

    /*solve(12);
    cout << total << endl;*/

    int n;
    cin >> n;
    int* numbers = new int[n+1];
    for (int i = 0; i <= n; i++) {
        numbers[i] = 0;
        cout << numbers[i] << " ";
    }
    cout << endl;
    for (int i = 1; i <= n; i++) {
        
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                numbers[i] += numbers[j];
                
            }
        }
        numbers[i] += 1;
        //cout << numbers[i] << " ";
    }
    cout << numbers[n] << endl;
    return 0;
}

下面是输出分解式的样例