【LA 3882

来源:互联网 发布:e绅士app老是网络错误 编辑:程序博客网 时间:2024/06/01 07:27

题意:n个人围成一圈,编号从1-n,规定第一个被杀掉的人编号为m,然后开始每数k个数,杀掉一个人,问最后剩余的人编号

思路 : a[n] = ( a[n - 1] + k ) % n,只不过第一个出去的人变成了m而已,last = (((last + m - k + 1) % n) + n) % n;

AC代码:

#include<cstdio>int main(){    int n,m,k;    while(scanf("%d %d %d",&n,&k,&m) != EOF){        int last = 0;        for(int i = 2; i <= n; i++)            last = (last + k) % i;        last = (((last + m - k + 1) % n) + n) % n;        printf("%d\n",last);    }    return 0;}
0 0
原创粉丝点击