乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入在一行中給出乙個正整數 n(1首先在第 1 行輸出最長連續因子的個數;然後在第 2 行中按因子1*因子2*……*因子k
的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
630
3
5*6*7
題意:找乙個正整數的最長連續因子素數的因子只有1和其本身,本題中1不算在因子內
最後乙個測試點很坑,一定要用sqrt函式去開平方,不然會超時(19分)
#include#include#include#include#include#include#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
bool is_prime(int x)
return true;
}int dfs(int v, int fac, int len)
else return len;
}int main()
int maxl = 0, res;
for (int i = 2; i <= sqrt(n); i++)
} }printf("%d\n", maxl);
for (int i = 0; i < maxl - 1; i++)
printf("%d\n", res + maxl - 1);
return 0;
}
pta L1 006 連續因子 20分
l1 006 連續因子 20分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數 n 1輸出格式 ...
PTA L1 006 連續因子 暴力模擬
乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數n 131 輸出格式 首先在第1行輸出最長連續因子的個數 然後在第2行...
PTA L1 006 連續因子 20分
l1 006 連續因子 20分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1 首先在第 1 行輸...