原题链接 参考:百科:约瑟夫问题 经典题。 附ac代码: #include <stdio.h> int main(){ int t, m, n, f; scanf("%d", &t); while(t-- && scanf("%d%d", &n, &m)){ f = 0; for(int i = 2; i <= n; ++i) f = (f + m) % i; printf("%d\n", f + 1); } return 0; }