51nod 1035 最長的迴圈節

2021-07-26 07:41:40 字數 804 閱讀 3009

1035 最長的迴圈節

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

正整數k的倒數1/k,寫為10進製的小數如果為無限迴圈小數,則存在乙個迴圈節,求<=n的數中,倒數迴圈節長度最長的那個數,假如存在多個最優的答案,輸出所有答案中最大的那個數。

1/6= 0.1(6) 迴圈節長度為1

1/7= 0.(142857) 迴圈節長度為6

1/9= 0.(1)  迴圈節長度為1

input

輸入n(10 <= n <= 1000)
output

輸出<=n的數中倒數迴圈節長度最長的那個數
input示例

10
output示例

7
題解:迴圈一遍n,快速的求出每個數的小數迴圈節長度,記錄長度最大的那個數。

先擺定理:

1.如果 1<=b

2.如果 1<=b

定理二說明了e是小於a的,那麼1/k的迴圈節長度一定小於k的,那麼我們直接列舉出e的值就可以了。複雜度o(n^n)。  相關**: 

**如下:

#include #include #include using namespace std;

int main()

while(temp!=1);

}if(cnt>max)

}printf("%d\n",ans);

} return 0;

}

51nod 1035 最長的迴圈節

正整數k的倒數1 k,寫為10進製的小數如果為無限迴圈小數,則存在乙個迴圈節,求 n的數中,倒數迴圈節長度最長的那個數。1 6 0.1 6 迴圈節長度為1 1 7 0.142857 迴圈節長度為6 1 9 0.1 迴圈節長度為1 input 輸入n 10 n 1000 output 輸出 n的數中倒...

51Nod 1035 最長的迴圈節

正整數k的倒數1 k,寫為10進製的小數如果為無限迴圈小數,則存在乙個迴圈節,求 n的數中,倒數迴圈節長度最長的那個數,假如存在多個最優的答案,輸出所有答案中最大的那個數。1 6 0.1 6 迴圈節長度為1 1 7 0.142857 迴圈節長度為6 1 9 0.1 迴圈節長度為1 input 輸入n...

51nod1035 最長的迴圈節

正整數k的倒數1 k,寫為10進製的小數如果為無限迴圈小數,則存在乙個迴圈節,求 n的數中,倒數迴圈節長度最長的那個數,假如存在多個最優的答案,輸出所有答案中最大的那個數。1 6 0.1 6 迴圈節長度為1 1 7 0.142857 迴圈節長度為6 1 9 0.1 迴圈節長度為1 收起輸入n 10 ...