L1 006 連續因子 20分

2021-10-04 19:34:57 字數 848 閱讀 6490

解題思路

對於n而言 有兩種情況

l1-006 連續因子 (20分)

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

輸入格式:

輸入在一行中給出乙個正整數 n(1輸出格式:

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

輸入樣例:

630

輸出樣例:35

*6*7

#include

using namespace std;

intisprime

(int n)

/*判斷素數*/

return1;

}int

main()

int i,j;

int sum;

int max_size=0;

int max_long=0;

for(i=

2;i<=

sqrt

(n);i++)if

(max_size/*位置區間大小和位置*/}}

printf

("%d\n"

,max_size)

;for

(i=max_long;i<=max_size+max_long-

1;i++

)puts(""

);}

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