乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出乙個正整數 n(1因子2……*因子k 的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
思路:
通過連續因子的乘積來代表這個連續序列,記得找的是最長且最小的連續序列,其中需要特判一下素數的情況。
輸出:
630
輸入:
35*
6*7
**:
#include
using
namespace std;
typedef
long
long
int ll;
int n,len,st,pro;
intmain()
}}if(st==0)
//特判素數
cout
1;i)//輸出結果
return0;
}
L1 006 連續因子 (20 分)
l1 006 連續因子 20 分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1首先在第 1 行輸...
L1 006 連續因子 (20 分)
l1 006 連續因子 20 分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1首先在第 1 行輸...
L1 006 連續因子 (20 分
乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數 n 1輸出格式 首先在第 1 行輸出最長連續因子...