L1 006 連續因子 (20 分 模擬

2022-05-01 17:06:12 字數 1178 閱讀 3242

乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。

輸入在一行中給出乙個正整數 n(1)。

首先在第 1 行輸出最長連續因子的個數;然後在第 2 行中按因子1*因子2*……*因子k的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。

630
3

5*6*7

#includeusing

namespace

std;

//input by bxd

#define rep(i,a,b) for(int i=(a);i<=(b);i++)

#define repp(i,a,b) for(int i=(a);i>=(b);i--)

#define ri(n) scanf("%d",&(n))

#define rii(n,m) scanf("%d%d",&n,&m)

#define riii(n,m,k) scanf("%d%d%d",&n,&m,&k)

#define rs(s) scanf("%s",s);

#define ll long long

#define pb push_back

#define fi first

#define rep(i,n) for(int i=0;i

#define clr(a,v) memset(a,v,sizeof a)

/////////////////////////////////

//#define inf 0x3f3f3f3f

#define n 50010

intmain()}}

if(start==0)//

若起始因子為0,說明n為質數,因為質數=1*本身,而迴圈最多能表示1*本身的根號

cout

<

for(int i=start+1;i)

cout

<

<

return0;

}

view code

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 行輸出最長連續因子...