天梯賽 L1 006 連續因子 (20 分) 題解

2021-09-11 20:15:19 字數 681 閱讀 8270

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

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

630
3

5*6*7

題目要求輸入乙個數,輸出最長的最小連續因子,而輸出資料特徵:起始值,連續長度。由於數n【sqrt(n),n】不可能存在連續因子,所以我們只需在【2,sqrt(n)】區間以不同的起始值,更新最終起始值(start)和連續因子長度(maxcount)即可

下面是我的code:

#include#include#includeusing namespace std;

int main()

if(count>mxc)

} if(mxc)

} else

cout<<"1"

}

天梯賽刷題 L1 006 連續因子 20分

題目鏈結在此!l1 006 連續因子 20分 乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數 n...

PAT 天梯賽 L1 006 連續因子

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

PTA 天梯賽 L1 006 連續因子

這樣的模擬題應該算是第一階梯裡最難的那個了,其次就是二維字元陣列操作的題。這個題因為說了給的數的範圍是在二的三十一次方以內,所以連續因子的長度最長也不會超過12,因為12的階乘是超過這個範圍的,然後就暴力求解吧,三層迴圈列舉每種長度每種開始,找到之後就結束。否則的話就輸出1,表示最長的序列就是它本身...