乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出乙個正整數 n(1輸出格式:
首先在第 1 行輸出最長連續因子的個數;然後在第 2 行中按 因子1*因子2*……*因子k 的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
輸入樣例:
輸出樣例:3遍歷連續因子長度即可5*6*7
11! = 39 916 800
12! = 479 001 600
2^31 = 2 147 483 648 約為2*10^9
連續因子最長,則第乙個因子就要小,所以連續因子的最大長度為len為12
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef
long
long ll;
#define debug(x, y) cout<#define nl cout<#define fy cout<<"------"int maxn =
1010
;int
main()
}if(f)break;}
///若f為false,則說明n沒有除去1和自身以外的因子,n為質數if(
!f) cout<<
1
nl;}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 行輸出最長連續因子...