CodeForces1352C - K-th Not Divisible by n - 推導公式
阿新 • • 發佈:2020-06-29
題意:
給出一個\(n\)和\(k\),要求輸出第\(k\)個不被\(n\)整除的數字。
思路:
每個能被\(n\)整除的數字之間,相鄰\(n-1\)個數。每組數之間進行分割,會有\(n-1-1=n-2\)個部分。
我本來是想著通過另外一個變數不斷尋找,當這個變數>=k的時候,再for迴圈往回找,可是程式碼實現部分我找bug好久,樣例都還是輸出錯誤。
之後,正確思路基礎上,
從而可以推匯出公式:\(k+(k-1) /(n-1)\)
PS:其實這個公式的推導我還是不太懂。這個思路是我自己之前做題的時候想到的,和這題的題解有部分相同。
AC程式碼:
#include <iostream> #include <string.h> #include <algorithm> #include <cmath> #include <map> using namespace std; typedef long long ll; int main() { int T; cin>>T; while(T--) { int n,k; cin>>n>>k; cout<<k+(k-1)/(n-1)<<endl; } return 0; }