若 k 是 (n - 1) 的倍数,组数 = k ÷ (n - 1),否则,组数 = k ÷ (n - 1) + 1; 然后用余数确定 k 的位置:若整除,则 答案 = n × k ÷ (n - 1) - 1,否则,答案 = n × k ÷ (n - 1) + 余数。
源代码
#include<iostream> usingnamespacestd;
intmain(){ int t; cin >> t; while (t--) { longlong n, k; cin >> n >> k; longlong sub = n - 1; longlong cnt1 = k / sub; longlong cnt2 = k % sub; longlong ans = cnt1 * n + cnt2; if (cnt2 == 0) ans -= 1; cout << ans << endl; }