两个目前只有ChatGPT O1才能答对的问题

在线验证 Java 在线工具 | 菜鸟工具

  1. (存疑,我之前试了很多AI连示例都做不对)
你得到一个循环字符串的子字符串s。可以多次连接到自身以获得此循环字符串的最小可能字符串的长度是多少?

示例

输入:s="cabca"

输出:solution(s)=3

"cabca"可以被循坏字符串"cabcabcabcab"连接得到,所以最小的字符串是"cab"

java实现

main函数测试
  1. (规律就是121,1234321,12345654321,123456787654321,…)
有一个无限序列,从第 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 项
3 个赞

答案是多少?

你的好像对了,我的c3.5连示例都不对,试试第二题


deepseek

试试第二题,我试了不行


deepseek v2.5

我用他的代码去在线平台跑了,不对

o1不是提高了代码能力吗

正确的答案是多少?

你要把正确答案贴出来

测第二题吧。

第二题(规律就是 121,1234321,12345654321,123456787654321,…)

新模型就是牛啊

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 项是多少
用 python 实现,main 函数直接输出前 30 项

回答

生成的代码

def get_nth_item(n):
    total = 0
    group = 1
    
    # 找到 n 所在的组
    while total < n:
        total += group * 2 - 1
        group += 1
    
    group -= 1
    prev_total = total - (group * 2 - 1)
    
    # 计算 n 在组内的位置
    position = n - prev_total
    
    if position <= group:
        return position
    else:
        return group * 2 - position

def main():
    for i in range(1, 31):
        print(get_nth_item(i), end=", ")

if __name__ == "__main__":
    main()

输出

1, 
1, 2, 1, 
1, 2, 3, 2, 1, 
1, 2, 3, 4, 3, 2, 1, 
1, 2, 3, 4, 5, 4, 3, 2, 1, 
1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 
1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, 
1, 2, 3, 4, 5, 6, 7, 8, 7, 6,

手动拆了一下 ,看着是对的啊

不对,第二组就到4,第三组就是6了

嗯 看到了.

我连题目都看不明白。。。 尴尬了

4omini也能对: