侄女的这道题难住我了,求助!

2018-09-27 16:27:02 +08:00
 pinews
幼儿园有 50 个男生和 50 个女生,分别站成两列,然后由第一个男生报数 1,然后身边的女生报数 2,再然后由身后的女生报数 3,然后身边的男生报数 4,再然后由身后的男生报数 5,如果身边的异性没报数,由身边的异性接着报数,如果已经报过数了,由自己身后的人报数。
一,请问报数为 45 的人是男生还是女生?他是男生或女生中第几个人报数的?
二,请问第 45 个男生报数是多少?第 45 个女生报数是多少?

我从 1 数到 100,刚数完又忘了,脑袋疼死了,求帮忙!!
6096 次点击
所在节点    程序员
45 条回复
cy97cool
2018-09-27 16:33:00 +08:00
周期为 4
ZhLTE
2018-09-27 16:34:27 +08:00
男 23
ZhLTE
2018-09-27 16:35:23 +08:00
然后 89,90 吗。。
echodone
2018-09-27 16:39:54 +08:00
报数情况:
奇数位男生:1+4*( i-1 )
偶数位男生:4+4*( i-1 )
奇数位女生:2+4*( i-1 )
偶数位女生:3+4*( i-1 )
i 为该同学所在队列位置

一,45/4 = 11...1,所以是男生,是男生中第 12 个报数
二,第 45 个男生是奇数位,报数等于 1+4 *( 45-1 );第 45 个女生也是奇数位,报数等于 2+4 *( 45-1 )
opengps
2018-09-27 16:41:15 +08:00
看了好几遍愣是没看懂题目,在关键字“如果”那里之前,感觉就是十个蛇形来回弯曲。
关键字“如果”那里实在没看懂
abclearner
2018-09-27 16:42:19 +08:00
25 组 每组 2 行 /4 个( 2 男 2 女)
weyou
2018-09-27 16:49:30 +08:00
假设报的数为 k, 男女生的序号是 n
男: 对于奇数序号 n: k = 2n-1, 偶数序号是:k = 2n
女: 对于奇数序号 n: k = 2n, 偶数序号是:k = 2n-1

一,k = 45, 所以要么是男奇,要么是女偶, 这个时候计算出 n = 23,是个奇数,只能是男生
二,k = 2 * 45 - 1 = 89, k = 2 * 45 = 90
echodone
2018-09-27 16:49:48 +08:00
上面关于奇数和偶数位置的算法有问题。。。所以关于问题二的答案是错误的。。。仔细想想,搞复杂了。。直接按 4 个人分一组,14 是男生,23 是女生就好了。。所以第一题,报 45 的是第 12 组的第一个人,所以是男生;第二题,第 45 个男生和女生应该是第 23 组的第 1 个和第 2 个人。。。
backfrw
2018-09-27 16:51:08 +08:00
小学生的题果然都是考家长的么
pinews
2018-09-27 16:52:39 +08:00
@opengps 对,就是拐来拐去的,跟 2 和 4 有关,但就是整不明白
@echodone 是不是乘 2 啊,乘以 4,报数都超过 100 多了
@ZhLTE 对对 应该就是这个,太感谢了
echodone
2018-09-27 16:59:37 +08:00
@pinews 嗯,是有问题的,改成 2 也是不对的。。忽略那个答案
GTim
2018-09-27 17:05:47 +08:00
@opengps 就是一个蛇形
admol
2018-09-27 17:06:40 +08:00
原来的排队:
1 男 2 女 2 男 2 女 ... 2 女 1 男 , 求第 45 个是男是女?
把最后一个男生提到最前面
2 男 2 女 2 男 2 女... 2 女 , 等价为求第 46 个是男是女 ?
所以第一个问题 第 45 个是女咯

第二个问题其实就是算 第 45 个男生前面有多少个男生和多少个女生吧
从转换后的队列看, 第 45 个男生在 23 组上, 所以前面有 22 组男生+22 组女生, 且他在 23 组上的第一个,所以男生报 89, 90 还是一个男生, 所以第 45 个女生报 91

不负责任的说不知道算的对不对

way2create
2018-09-27 17:06:57 +08:00
男生,45=23X2-1,所以第 23 个,然后 45X2-1=89,45X2=90
admol
2018-09-27 17:08:41 +08:00
负责任的说上面结论有错 = = , 第一个问题 第 45 个应该是男
aspave
2018-09-27 17:11:11 +08:00
我觉得就一百个数,直接写在纸上比较好
xd314697475
2018-09-27 17:11:27 +08:00
考点:
4 个人一组
2 男一组,2 女一组

示意图:
男 1 女 2
男 4 女 3
————
男 5 女 6
男 8 女 7
————
男 9...

第 n 组:
男 A:4*(n-1)+1,女 A:4*(n-1)+2,
男 B:4*(n-1)+4,女 B:4*(n-1)+3

一:
45/4=11 余 1
所以是 11+1=12 组的第一个,男
他是 11*2+1=23 个报数的

二:
45/2=22 余 1
所以是 22+1=23 组
第一个男(男 A )=4*(23-1)+1=89
第一个女(女 A )=4*(23-1)+2=90
pinews
2018-09-27 17:12:01 +08:00
@admol 感谢了,好像好计算了
aspave
2018-09-27 17:12:02 +08:00
@aspave 可能比较快,准,简单
MyPassWordis
2018-09-27 17:16:18 +08:00
"幼儿园有 50 个男生和 50 个女生,分别站成两列" 没人觉得这句话有问题吗? 分别两列,是总共四列的意思吗?可是看后面的报数举例又像是两列,否则举的例子都不成立。看楼上也是假设这两种情况的都有。

话说,lz 真的写程序好多年吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/493214

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX