時間限制
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行...