\(yayamao\)是數學神犇,一天他在紙上計算起了\(1/p\), 我們知道按照模擬除法可以得到準確解,例如\(1/7=0.(142857),1/10=0.1(0)\)。\(yayamao\)發現無論他如何模擬小數都會出現迴圈,現在\(yayamao\)想知道迴圈的長度以及迴圈出現之前,小數點後面的未迴圈的數字的位數。例如\(1/15=0.0(6)\),那麼它的迴圈長度為\(1\),小數點後面的未迴圈的數字的位數為\(1\);\(1/4=0.25(0)\),那麼它的迴圈長度為\(1\),小數點後面的未迴圈的數字的位數為\(2\)。
資料的第一行是乙個整數\(t\), 表示資料組數。
接下來\(t\)組資料,每組資料的第一行是乙個正整數\(p\)。
對於每組資料輸出\(2\)個整數\(a,b\), 分別表示迴圈長度以及小數點後面的未迴圈的數字的位數。
312
4
1 0
1 11 2
\(1\;\leq\;t\;\leq\;10000,1\;\leq\;p\;\leq\;2\;\times\;10^9\).
小學奧數中,乙個分數如果是純迴圈小數,則它的分母是\(k=999...9\)的因數(\(k\)為最小的這種形式的原分母的倍數),迴圈節為\(k\)的位數;
若是混迴圈小數,則它的分母是\(k=999...9000...0\)的因數(\(k\)為最小的這種形式的原分母的倍數),迴圈節為\(k\)中\(9\)的個數,小數點後不迴圈部分的位數為\(k\)中\(0\)的個數.
由此可見,設\(p=2^5^p'((p',10)=1)\),則迴圈部分的位數為\(max(a_1,a_2)\).
現在求迴圈節長度.
設\(a_i\)表示\(p'\)小數點後\(i\)位上的數,\(b_i\)表示處理第\(i-1\)位後的餘數.
顯然,\(b_1=1,a_1=\lfloor10\;\times\;\frac\rfloor\),
\(b_i=10\;\times\;b_\;mod\;p',a_i=\lfloor10\;\times\;\frac\rfloor\).
當找到最小的\(p,q(p滿足\(b_p=b_q\)時,答案為\(q-p\).
因為\((p',10)=1\),所以\((p',b_i)=1\).
設\(10x\;\equiv\;1(mod\;p')\),若\(p\not=1\),則\(b_=x\;\times\;b_p\;mod\;p'=x\;\times\;b_q\;mod\;p'=b_\).
出現了更早的重複\(b_=b_\),所以最早的重複在\(p=1\),所以\(\frac\)為純迴圈小數.
設\(y\)為最小的滿足\(b_y=b_1\;\times\;10^\;mod\;p'=b_1\)的正整數,則\(10^\;\equiv\;1(mod\;p')\).
問題轉化成了求\(10\)模\(p'\)的階.
因為\((10,p')=1\),所以\(10^\;\equiv\;1(mod\;p')\).
列舉\(\phi(p')\)的質因數找最小質因數解即可.
#include#include#include#include#include#include#include#include#include#include#define n 45000
using namespace std;
typedef long long ll;
ll m[n];
int f[n],p[n],k,n,x,t,cnt,tot;
bool b[n];
inline void prime()
inline void aireen()
while(!(k%5))
x=phi(k);
for(int i=1;im[i]=m[i-1]*10ll%(ll)(k);
for(int i=sqrt(x);i;--i)
if(!(x%i))
printf("%d %d\n",x,max(cnt,tot));
}}int main()
日常訓練 CZA的蛋糕
cza特別喜歡吃海苔,怎麼吃也吃不夠。cza的生日到來時,他的父母給他買了許許多多的海苔和乙個生日蛋糕。海苔是乙個1 2或2 1的長方形,而蛋糕則是乙個n m的矩陣。蛋糕上有一些蠟燭佔據了位置,其他地方都可以放海苔。cza的父母讓cza把海苔盡可能多的放在蛋糕上,但是海苔不能夠重疊放置。cza想把海...
模擬7 27 單(liu runda學長的神題)
好像用到一些高中數學知識.滿分做法 case 0 已知a陣列求b陣列 因為是樹狀結構,設當前節點x 兒子to 我們從任意一點出發可求出b root 來,之後我們可以通過尋找兩兩相連節點的關係來o n 推出全部的b 我們發現x與y之間只有一條邊的貢獻不同,就是他們相連的邊 邊的貢獻即該邊節點所在子樹通...
js邏輯訓練題 智商測試題訓練題 提公升智商的神器
第乙個是目前最為通用的測試題,先大家練練手。因為這套題普及率高,如你已經做過了,可以試試門薩的1 3套題,相對來說難度高一點點.再往後面就是聯絡測試題了,可以反覆操作,知道你熟練掌握為止。智商測試 邏輯思維能力應該包括觀察力 分析力 判斷力 決策力 思考力 創意力 想象力 洞察力這八種細分能力。邏輯...