问题:
有一个无限序列,从第 1 项开始,分别为 1,2,1,1,2,3,4,3,2,1,1,2,3,4,5,6,5,4,3,2,1
dd 想知道,第 n 项是多少
用 Java 实现,main 函数直接输出前 30 项
- fuclaude(没找对规律)
plus由vv佬提供
-
gpt-4o (思路不对)
-
gpt-4(思路对了,代码不对)
-
o1-mini(一遍过,牛逼!)
-
o1-preview(也是一遍过)
问题:
有一个无限序列,从第 1 项开始,分别为 1,2,1,1,2,3,4,3,2,1,1,2,3,4,5,6,5,4,3,2,1
dd 想知道,第 n 项是多少
用 Java 实现,main 函数直接输出前 30 项
plus由vv佬提供
gpt-4o (思路不对)
gpt-4(思路对了,代码不对)
o1-mini(一遍过,牛逼!)
o1-preview(也是一遍过)
编码和逻辑思考应该是有一些提升
claude 答案对么
public class InfiniteSequence {
public static int getSequenceItem(int n) {
if (n == 1) return 1;
int sum = 1;
int i = 2;
while (sum < n) {
sum += 2 * i - 1 + (i - 1) * (i - 1);
i++;
}
i--;
int posInSubseq = n - (sum - (2 * i - 1 + (i - 1) * (i - 1)));
int middlePoint = i;
if (posInSubseq <= middlePoint) {
return posInSubseq;
} else {
return 2 * middlePoint - posInSubseq;
}
}
public static void main(String[] args) {
for (int i = 1; i <= 30; i++) {
System.out.print(getSequenceItem(i) + " ");
}
}
}
prompt
在回答问题之前,请在 <thinking></thinking> 标签内逐步思考。然后,在 <answer></answer> 标签内提供你的最终答案。
有一个无限序列,从第 1 项开始,分别为 1,2,1,1,2,3,4,3,2,1,1,2,3,4,5,6,5,4,3,2,1
dd 想知道,第 n 项是多少
用 Java 实现,main 函数直接输出前 30 项
总感觉就是,有提升,但不多
试了一下,claude 3.5 sonnet的代码有问题,但是它找到了规律,输出了最终的结果【代码放在你的菜鸟工具里面验证得到的结果是错的】。
o1-preview给出的代码能跑出正确结果,但是表述给出的输出是错的。
自己运行一下就知道不对了
牛逼,确实厉害
神奇的sonnet,代码是错的,但是答案是正确的。
而且让他给个Python代码,也是同样的结果。
代码是错的,但是回答页面输出的结果又是正确的
怎么感觉实际代码能力是下降的?
代码应该是mini比较强