今天是2025年2月25日,这个数字连起来就是20250225

于是我让突发奇想,想让AI新创造一个概念,并且出三个编程题!

鉴于Deepseek不稳定, 经常服务器崩溃,这里我是用的是阿里Qwen2.5-Max,这个大模型的代码能力还是比较强的。

目前Qwen2.5-Max,也同样加上了深度思考功能!

虽然思考时间比较长,但是思路及结果一点也不比Deepseek差。

我让他先给我根据这个数字给我生成三个简单的题目,虽然给到了不错的结果,但都是输入样例。

不太符合我想要的,于是我让它给我新创造一个概念,其他没有出现过的,类似于回文数,水仙花数之类的。

等它思考完,给到了我一个答案,叫——”镜像日期“。

新概念:镜像日期
定义 :
若一个八位日期数字满足以下两个条件,则称为“镜像日期”:
年份的后两位数字 与日期 完全相同;
月份 是年份前两位数字反转 后的结果。
示例 :
20250225 是镜像日期,因为:
年份后两位 25 = 日期 25;
年份前两位 20 反转后得到 02 = 月份 02。
非镜像日期示例 :
20211202:年份后两位 21 ≠ 日期 02,且月份 12 ≠ 年份前两位反转 02。

这个概念挺有意思,这个数字和日期确实符合要求,而且之前没出现过!

不过后面它给我出了一个题目是判断是否是镜像日期,只能通过输入判定,这个编程就没意思了。

我想让他加点难度,找出历史上符合要求的日期。

从给出的思考过程可以看出,我给的虽然模糊,但是思考还是比较清晰的;

“考虑到八位数的日期格式,年份应该是四位数,所以可能从1000年到9999年。”

这个隐形条件已经想到了,但是没有限制历史上,把未来的也加上了。

最后给我程序里面年份范围却是从0000年开始的。

不过这个是年份范围问题,不难解决了。

同学们可以试一下。

...

...

...

Ai给出的结果如下:

最后成功给出了逻辑分析:

  1. 遍历年份 :从0000到9999,覆盖所有四位数年份。
  2. 字符串格式化 :使用setw(4)和setfill('0')确保年份始终为四位(如1 → "0001")。
  3. 拆分与反转 :
  • 提取年份的前两位(year_prefix)和后两位(year_suffix)。
  • 反转year_prefix得到月份(如"20" → "02")。
  1. 有效性检查 :
  • 月份 :必须在01到12之间。
  • 日期 :必须在01到31之间(简化处理,不严格校验具体月份天数)。
  1. 输出结果 :按YYYYMMDD格式输出,并标注年月日。

Ai给出了运行示例。

但只是部分效果。

我运行了一下,这样的日期还是不少的,即便限制了1000年以后,也有不少。

但是Ai给出的代码这里有些小问题,比如没有判断平年和闰年,2月天数不同,另外31天和30天的月份也没有判断。

不过它自己也知道问题,还给出了拓展思考。

同学们,你们自己也试一下吧!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐