乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3*5*6*7,其中5、6、7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出乙個正整數n(131)。
輸出格式:
首先在第1行輸出最長連續因子的個數;然後在第2行中按「因子1*因子2*……*因子k」的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1不算在內。
輸入樣例:
630輸出樣例:
3一道暴力題,因為n最大是12的階層,所以我們可以之間暴力sqrt(n)以內的所有12個連續的數的積,能與n整除就找到了。5*6*7
這題算是這道題的簡易版。
注意乙個坑點:這個數本身可以是個素數。
附ac**:
#include #include #include #include #include #include #include #include #include #include #include using namespace std;const int inf = 0x3f3f3f3f;
typedef long long ll;
const int maxn = 1e3+10;
int main()
if(n%sum==0)
return 0;}}
}cout<<1
}
PTA L1 006 連續因子 DFS
乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1首先在第 1 行輸出最長連續因子的個數 然後在第 2...
pta L1 006 連續因子 20分
l1 006 連續因子 20分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數 n 1輸出格式 ...
PTA L1 006 連續因子 20分
l1 006 連續因子 20分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1 首先在第 1 行輸...