鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 323

[复制链接]
 楼主| 发表于 2020-2-5 16:36:39 | 显示全部楼层
阴阳神万物主 发表于 2020-2-4 20:32
101应该也算对吧?
0 不就是以 0 开头的吗?

对。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:37:37 | 显示全部楼层
阴阳神万物主 发表于 2020-2-4 21:00
从格式上与他人做区别。
没有更改,减少一下行数。

解答错误

输入:"0235813"
输出:True
预期结果:False
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:38:21 | 显示全部楼层
TJBEST 发表于 2020-2-4 22:23
可能有点繁琐,但是结果应该没错

虽然繁琐,但效率挺高,28 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:39:20 | 显示全部楼层
546623863 发表于 2020-2-4 22:27
顺便帮我把前面两次的评了。。。

收到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:46:03 | 显示全部楼层
546623863 发表于 2020-2-4 22:27
顺便帮我把前面两次的评了。。。

解答错误

输入:"123"
输出:False
预期结果:True
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:46:56 | 显示全部楼层
fan1993423 发表于 2020-2-4 22:41
好吧,我想了个比较奇特的方法

解答错误

输入:"0235813"
输出:True
预期结果:False
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:47:23 | 显示全部楼层
kinkon 发表于 2020-2-5 03:04
1001101算True还是False?

False
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:47:52 | 显示全部楼层
kinkon 发表于 2020-2-5 01:19
学习阶段,参考大神们的

解答错误

输入:"1023"
输出:True
预期结果:False

多了一个 0。

"1023"
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 16:48:52 | 显示全部楼层
ll104567 发表于 2020-2-5 14:12
增加了一个判断,测试用例多给几个吧~

解答错误

输入:"199111992"
输出:False
预期结果:True
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:01:56 | 显示全部楼层
zltzlt 发表于 2020-2-5 16:46
解答错误

输入:"0235813"

你不是说累加序列里不会以0开头吗?我就没想0的事
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 17:02:26 | 显示全部楼层
fan1993423 发表于 2020-2-5 17:01
你不是说累加序列里不会以0开头吗?我就没想0的事

哪里说了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:04:22 | 显示全部楼层

你那个说明啊,02345这种也算序列塞
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:06:02 | 显示全部楼层
zltzlt 发表于 2020-2-5 16:36
解答错误

输入:"198019823962"

再来,,我杠上了

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 17:06:32 | 显示全部楼层
fan1993423 发表于 2020-2-5 17:04
你那个说明啊,02345这种也算序列塞

应该是我表述有误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:15:26 | 显示全部楼层
本帖最后由 kinkon 于 2020-2-5 17:16 编辑
zltzlt 发表于 2020-2-5 16:47
解答错误

输入:"1023"


改了
  1. def f323(s):
  2.     l=len(s)
  3.     if l<3:return False
  4.     for i in range(1,l//3+1):
  5.         for j in range(i,l//2+1):
  6.             c=i+j
  7.             if len(s[i:c])==len(str(int(s[i:c]))):
  8.                 a,b=int(s[i:c]),int(s[:i])+int(s[i:c])
  9.          
  10.             while str(b)==s[c:c+len(str(b))]:
  11.                 c+=len(str(b))
  12.                 if c==l:return True
  13.                 a,b=b,a+b
  14.     return False
  15.    
  16. print(f323('1023'))
  17. print(f323('199100199'))
  18. print(f323('112359'))
  19. print(f323('199100198'))
  20. print(f323('011'))
  21. print(f323('1001101'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 17:17:14 | 显示全部楼层

解答错误

输入:"199111992"
输出:False
预期结果:True
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:19:54 | 显示全部楼层
zltzlt 发表于 2020-2-5 17:06
应该是我表述有误

好吧,我加了一个判别式
  1. def fun323(s):
  2.     if len(s)<3:return False
  3.     def recursive(a,s,j):
  4.         if len(a)>1 and a[0]=='0':
  5.             return False
  6.         b,c=s[i:i+j],s[i+j:]
  7.         t=str(int(a)+int(b))
  8.         if c==t:
  9.             return True
  10.         elif c.startswith(t):
  11.             return recursive(b,' '*i+c,len(t))
  12.         else:
  13.             return False
  14.     for i in range(1,len(s)-1):
  15.         for j in range(1,(len(s)-i)//2+1):
  16.             a=s[:i]
  17.             if recursive(a,s,j):return True
  18.     return False
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 17:25:45 | 显示全部楼层
fan1993423 发表于 2020-2-5 17:19
好吧,我加了一个判别式

解答错误

输入:"199001200"
输出:True
预期结果:False
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 17:26:50 | 显示全部楼层
zltzlt 发表于 2020-2-5 17:17
解答错误

输入:"199111992"

1991+1=1992?
这题和原来提出的问题(1001101)是一样的100+1=101
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 17:27:30 | 显示全部楼层
kinkon 发表于 2020-2-5 17:26
1991+1=1992?
这题和原来提出的问题(1001101)是一样的100+1=101

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 16:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表