題目:最長的迴圈節
題意:求<=n的數中,倒數迴圈節長度最長的那個數。
思路:我能說我沒思路麼。。。
直到我看到了上面的**。簡單來說就是,乙個整數的倒數的迴圈節,就是求10x
≡1(m
odn)
,很明顯,如果gc
d(10,
n)≠1
的話,就無解。如果存在解的話,根據尤拉公式,那麼這個解 x|
phi(
n),所以直接暴力列舉
x 就好了。
#include
using
namespace
std;
int phi(int m)
}if(m>1) ans = ans / m * (m - 1);
return ans;
}int fp(int a, int n, int p)
return r;
}int main()
break;}}
}cout
<< ans << endl;
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 最長的迴圈節
1035 最長的迴圈節 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 正整數k的倒數1 k,寫為10進製的小數如果為無限迴圈小數,則存在乙個迴圈節,求 n的數中,倒數迴圈節長度最長的那個數,假如存在多個最優的答案,輸出所有答案中最大的那個數。1 6 0.1 6 ...
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...