連續因子 階乘 L1 006

2021-08-14 15:27:08 字數 1015 閱讀 8590

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

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

輸入格式:

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

輸出格式:

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

輸入樣例:

630
輸出樣例:
3

5*6*7

題目思路:連續的數字很容易聯想到階乘,

階層給人的慣性思維就是n*n-1*n-2*....*1,

但是此題又不是簡單的從1-n的階乘,因為題目中有中間的連續數字並且不是都是從1開始的。所以想到用for(int i = 2; i < sqrt(n); i++)在這個迴圈中一直往後面乘,用迴圈裡面的控制條件對應相應的幾個連續數。

ac**如下:

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int main()}}

}if(count == 0)

//特殊情況

printf("1\n%d\n",n);

else

printf("%d\n",count-1);}} 

return 0;

}

L1 006 連續因子 階乘

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連...

L1 006 連續因子

乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數n 131 輸出格式 首先在第1行輸出最長連續因子的個數 然後在第2行...

L1 006 連續因子

乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數n 131 輸出格式 首先在第1行輸出最長連續因子的個數 然後在第2行...