C语言围圈报数问题
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。这个题竟然还能这样做, 完全看不懂啊,这个程序到底是什么意思呢#include <stdio.h>
int main()
{
int i, n, s=0;
scanf("%d", &n);
for (i=2; i<=n; i++)
{
s = (s+3)%i;
}
printf("%d\n", s+1);
return 0;
} 看了一天还是没明白 哥斯拉不说话 发表于 2015-5-18 13:05
看了一天还是没明白
没看懂,这程序始终只会打印出1. ANDES 发表于 2015-5-19 18:40
没看懂,这程序始终只会打印出1.
不是啊,这程序很对啊,比如你输入3,表示有3个人,它就会输出2,表示最后剩下的是原来的第2个人。 哥斯拉不说话 发表于 2015-5-19 20:16
不是啊,这程序很对啊,比如你输入3,表示有3个人,它就会输出2,表示最后剩下的是原来的第2个人。
好吧,我又看快看错了。
页:
[1]