看起来GPT的方法是每次都重新评估接下来该怎么分。最开始拿走3个,然后就会发现再拿3个不够分,就改成拿2个。
这应该是很好的方法,不过我没想到。
而且“把M个元素均匀分成N份”这个问题比想象中的难很多,我其实想不到简单的解决方案。
看起来GPT给的答案确实挺好的:
23楼不好,12个分不均匀
@echo醉老仙,以下是一个真的能分成5份的代码,它会把多余的元素放在末尾:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; let n = 5; let partSize = Math.floor(arr.length / n); for (let i=1; arr.length > 0; i++) { if (i == n) { partSize = arr.length; } console.log(arr.splice(0, partSize)); }
它不会验证是否正确,只能机械的给出答案
说起来,我确实亲自运行了我这个代码(和GPT给的逻辑一样),而且还运行了好几次,但我没有意识到它只分了4份,根本不符合要求,所以我也直接发出来了。
可以这么说,除了编造错误结果这一点不一样之外,GPT和我具有一致的行为逻辑
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; console.log(arrayParts(arr, 5)); function arrayParts(arr, n) { var result = []; var partSize = Math.ceil(arr.length / n); for (var i = 0; i < arr.length; i += partSize) { result.push(arr.slice(i, i + partSize)); } return result; }
@echo醉老仙,如果想用
splice:var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; var partSize = Math.ceil(arr.length / 5); while (arr.length > 0) { console.log(arr.splice(0, partSize)); }
@echo醉老仙,不好意思我看错了,
slice和splice是两个不同的函数。所以只要这样就行了:var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; console.log(arrayParts(arr, 5)); function arrayParts(arr, n) { var result = []; var partSize = Math.ceil(arr.length / n); for (var i = 0; i < arr.length; i += partSize) { result.push(arr.slice(i, i + partSize)); } return result; }
@echo醉老仙,你首先需要描述你的目标,输入是什么,想得到的输出是什么,然后别人才能回答。
展示效果不佳的代码并不能让人推测出你的目标。
@TabKey9,看起来GPT和文心一言都通过测试了
@TabKey9,弱智吧已经证明了GPT通不过逻辑陷阱测试。
@TabKey9,偶尔会弹出图形验证码,这个接入机器人会更难。
@TabKey9,冒泡不是用来排序的吗,为什么会用于计算器?你在做图灵测试吗?
@张小强,要接电话啊,那算了,以后再申请吧
@张小强,去哪里申请
@希望自己长胖胖,你可以在一个店问问题,在另一个店买。反正手机都是一样的。
@希望自己长胖胖,换个店去问,换小米京东自营旗舰店,他们的客服应该更熟悉。
@希望自己长胖胖,京东客服肯定不会给你测试手机啊。想知道玩原神如何,去B站看测评。
@雨恨云愁,v10好像确实有问题,我只在v10 SP1和UOS上成功过。
