acm模版
最開始看錯題了,結果想岔了,用尺取法做了,但是不是說尺取法不能做,只是沒必要用它,直接用陣列存起來所有的因子即可,當然,也可以存一部分因子,畢竟這個結果只和前部分因子以及它本身有關。
這裡我用的尺取法,效率還算可以,但是系統有乙個坑,明明說時間限制為400ms,可是10毫秒多一點兒就超時了,朋友說,大概這是玄學問題吧,於是我就又優化了一些,優化到了10ms,ac 了。
這裡需要考慮到的是連續因子超過1的,那麼用乙個 while 迴圈就能搞定,但是還需要考慮到一些連續因子為1的情況,這時輸出的結果分為兩種,一種是他本身,還有一種是他最小的大於1的因子,其實,這就是一種情況,不過在搞事情時,出於優化,分為兩種來弄還是比較好的。
//
// main.cpp
// f-pat-l1-006-連續因子
//// created by zyj on 2017/3/20.
//#include
#include
#include
using
namespace
std;
typedef
long
long ll;
int main()
if (n % pro == 0)
}else
if (pro > n)
tail++;
pro *= tail;
}if (flag)
}else
}if (tag)
}else
}puts("");
}return
0;}
PAT 天梯賽練習集 L1 006 連續因子
乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數n 131 輸出格式 首先在第1行輸出最長連續因子的個數 然後在第2行...
PAT 天梯賽 L1 006 連續因子
乙個正整數n的因子中可能存在若干連續的數字。例如630可以分解為3 5 6 7,其中5 6 7就是3個連續的數字。給定任一正整數n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入格式 輸入在一行中給出乙個正整數n 131 輸出格式 首先在第1行輸出最長連續因子的個數 然後在第2行...
PTA 天梯賽練習集 L1 006 連續因子
乙個正整數 n 的因子中可能存在若干連續的數字。例如 630 可以分解為 3 5 6 7,其中 5 6 7 就是 3 個連續的數字。給定任一正整數 n,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。輸入在一行中給出乙個正整數 n 1首先在第 1 行輸出最長連續因子的個數 然後在第 2...