問題 a: 一道簽到題
時間限制: 2 sec 記憶體限制: 128 mb
提交: 61 解決: 26
[提交][狀態][討論版]
題目描述
我想說這是一道簽到題,意思就是本次測試中最水的一道,不過我這樣說你真的願意相信我嗎?哈哈,題目是這樣的給你一下小數,然後請告訴我分別告訴我這個小數的迴圈節的迴圈次數、迴圈節以及迴圈節長度
輸入輸入包括多組測試資料每組測試資料1行,包括乙個小數,小數的長度不超過200,小數大於0小於100
輸出分別輸出這個小數的迴圈節的長度、迴圈節以及迴圈次數,中間以乙個空格間隔
樣例輸入
8.6987698769876987
0.666
5.1樣例輸出
4 6987 4
1 6 3
1 1 1
//hpuoj-周賽一:一道簽到題
//題目大意:給你一列數字(浮點型)找出這列數中小數部分的迴圈節的迴圈次數、
//迴圈節以及迴圈節長度.
//解題思路:首先,定義兩個字元陣列a[220]、b[220],這列數當成字元型處理;
//由於只考慮小數部分,所以輸入到 a陣列之後直接把小數部分存到 b陣列裡。
// 接下來就用到kmp思想啦,定義getp()函式,用getp函式處理陣列b.
//本題主要利用getp()函式的性質:
//[1]若 len%(len-p[len])等於0,那麼這列字串一定是週期串(就像迴圈小數)
//[2]並且它的迴圈節的長度是 len-p[len],迴圈的次數是 len/(len-p[len]);
//len:getp函式要處理的字串的長度。
#include#includechar a[220],b[220];
int p[100];
int len1,len2,length,cnt=0,k;
void getp(){
int i=0,j=-1;
p[i]=j;
while(i
hpuoj1695 一道簽到題 KMP
時間限制 2 sec 記憶體限制 128 mb 提交 69 解決 33 提交 狀態 討論版 我想說這是一道簽到題,意思就是本次測試中最水的一道,不過我這樣說你真的願意相信我嗎?哈哈,題目是這樣的給你一下小數,然後請告訴我分別告訴我這個小數的迴圈節的迴圈次數 迴圈節以及迴圈節長度 輸入包括多組測試資料...
hpuoj 1695 一道簽到題 KMP
時間限制 2 sec 記憶體限制 128 mb 提交 72 解決 36 提交 狀態 討論版 我想說這是一道簽到題,意思就是本次測試中最水的一道,不過我這樣說你真的願意相信我嗎?哈哈,題目是這樣的給你一下小數,然後請告訴我分別告訴我這個小數的迴圈節的迴圈次數 迴圈節以及迴圈節長度 輸入包括多組測試資料...
hpu1695 一道簽到題
a 時間限制 2 sec 記憶體限制 128 mb 提交 63 解決 28 提交 狀態 討論版 我想說這是一道簽到題,意思就是本次測試中最水的一道,不過我這樣說你真的願意相信我嗎?哈哈,題目是這樣的給你一下小數,然後請告訴我分別告訴我這個小數的迴圈節的迴圈次數 迴圈節以及迴圈節長度 輸入包括多組測試...