天天看點

Bailian2749 分解因數【遞歸+枚舉】

Bailian2749 分解因數

問題簡述:(略)

問題分析:采用遞歸加枚舉的方式解決。

程式說明:程式中采取枚舉整數所有因子的辦法來實作。

參考連結:(略)

題記:(略)

AC的C++語言程式如下:

/* Bailian2749 分解因數 */

#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

int fact(int k, int n)
{
    int end = sqrt(n), sum = 1;
    for(int i = k; i <= end; i++)
        if(n % i == 0) sum += fact(i, n / i);
    return sum;
}

int main()
{
    int n, a;
    scanf("%d", &n);
    while(n--) {
        scanf("%d", &a);
        printf("%d\n", fact(2, a));
    }

    return 0;
}
           

繼續閱讀