这是奔跑的键盘侠的第199篇文章
作者|我是奔跑的键盘侠
来源|奔跑的键盘侠(ID:runningkeyboardhero)
转载请联系授权
三年前,按键精灵板块停更了,读个研还是非常不易的,过程艰辛、结果辛酸。从今天开始,按键精灵相关内容,将开始新一轮的耕耘
与以往不同的是,我们邀请到了chatgpt专家来写代码,毫无疑问,顺应潮流才能与时俱进
废话不多说,直接上题目和代码。
100个人手拉手围成一圈,逢三退一(1到3循环数数,被数到3的人退出),求最后一个被剩下人的编号.请写出代码)
// 定义常量
const peopleNum = 100 // 人数
const countNum = 3 // 数到的数字
const exitNum = 1 // 退出的数字
// 初始化参与游戏的人员数组
dim people[peopleNum]
for i = 0 to peopleNum-1 step 1
people[i] = i+1
next
// 开始游戏
dim currIndex = -1 // 当前人员的索引(初始值为-1,方便计算)
dim exitCount = 0 // 已退出游戏的人数
while exitCount < peopleNum - 1 do
dim count = 0 // 统计数到的数字
while true do
currIndex = (currIndex + 1) mod peopleNum // 循环计算当前人员的索引
if people[currIndex] > 0 then
count = count + 1
end if
if count = countNum then
exitCount = exitCount + 1
people[currIndex] = -exitCount // 将退出游戏的人标记为负数,方便后续判断
print "第" & exitCount & "个退出游戏的人的编号为:" & people[currIndex]
Exit while
end if
end while
wend
// 输出最后一个剩下的人
for i = 0 to peopleNum-1 step 1
if people[i] > 0 then
print "最后一个剩下的人的编号为:" & people[i]
Exit for
end if
next
补充说明:
-END-
© Copyright
奔跑的键盘侠原创作品 | 尽情分享朋友圈 | 转载请联系授权