L1 006 連續因子 (20 分

2021-09-14 02:12:25 字數 962 閱讀 1959

乙個正整數 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 行輸出最長連續因子...