指數迴圈節(降冪)

2021-08-06 04:52:38 字數 664 閱讀 8991

指數迴圈節

在有些題目中我們需要對指數進行降冪處理才能計算。比如計算

其中這裡由於

給定

#include #include #include using namespace std;

const int n = 1000005;

typedef long long ll;

char str[n];

int phi(int n)}}

if (n > 1)

return rea;

}ll multi(ll a, ll b, ll m)

b >>= 1;

a = (a + a) % m;

}return ans;

}ll quick_mod(ll a, ll b, ll m)

b >>= 1;

a = multi(a, a, m);

}return ans;

}void solve(ll a, char str, ll c)

}else

ans += p;

}printf("%i64d\n", quick_mod(a, ans, c));

}int main()

return 0;

}

指數迴圈節

以上的公式如果第一次見到,難免有不少疑惑 為什麼可以這麼寫?限制條件為什麼是x phi c 這個公式為什麼正確?今天突發奇想,在紙上yy以後得到了以下證明 個人證明,如果有問題歡迎提出 定理 1 對於乙個數對 a,c 必然存在乙個最小的正整數 l,滿足 其中spos 是乙個大於等於0的整數 下面具體...

hdu4335 降冪公式 模迴圈節

大意找出多少個n滿足下式 範圍如此之大啊。結果做法是暴力,囧。要用到乙個降冪公式 注意括號裡的條件,那麼當n比較小的時候,就不能用這個了,n比較小,肯定是暴力嘛。那麼第乙個階段便是當n比較小,n 小於phi p 直接暴力求解。當n 大於phi p 的時候,便 可以用上面的降冪公式。還得繼續暴力,發現...

迴圈節長度以及迴圈節

迴圈節長度 兩個整數做除法,有時會產生迴圈小數,其迴圈部分稱為 迴圈節。比如,11 13 6 0.846153846153 其迴圈節為 846153 共有6位。這是一道藍橋杯的題目,試卷上是乙個填空題,思路就是不斷的對除數取餘,然後乘10後再取餘,直到餘數在之前出現過或者為0 結束。為什麼是這樣的呢...