标题: [技术讨论] [题目]0-9各自出现的次数 [打印本页]
作者: 523066680 时间: 2013-1-7 10:33 标题: [题目]0-9各自出现的次数
0在这十句话中出现的次数是______。
1在这十句话中出现的次数是______。
2在这十句话中出现的次数是______。
3在这十句话中出现的次数是______。
4在这十句话中出现的次数是______。
5在这十句话中出现的次数是______。
6在这十句话中出现的次数是______。
7在这十句话中出现的次数是______。
8在这十句话中出现的次数是______。
9在这十句话中出现的次数是______。
解这道题,python perl batch 等,脚本语言不限。
(=_=脚本没写完,后来直在稿纸上一个个演算出来了。。。)
作者: BAT-VBS 时间: 2013-1-7 12:28
哪10句话?
作者: 523066680 时间: 2013-1-7 15:56
回复 2# BAT-VBS
就是原题中的十句话,
例如第一个你填1,那么包括第二句的1 就有2个1 了
作者: QIAOXINGXING 时间: 2013-1-7 17:25
本帖最后由 523066680 于 2015-6-5 20:41 编辑
假定所有的次数都小于等于9。
晚上别关机,睡一觉应该能跑出结果来。。。。。。。
#a = 1732111210- a = int(1E9)
-
- while a<int(1E10):
- a += 1
- s = str(a)
- for i in range(0,10):
- if int(s[i]) != s.count(str(i))+1:
- break
- else:
- print "done:"+s
- raw_input('pause')
复制代码
作者: 523066680 时间: 2013-1-7 22:09
本帖最后由 523066680 于 2015-6-5 20:41 编辑
回复 4# QIAOXINGXING
没去等运行结果,
你的答案是#a = 1732111210 否?
最后一位不是0
还有一种答案,群里讨论的时候有个秒算的,得到另一个答案也符合。并且可能有N多种解
作者: QIAOXINGXING 时间: 2013-1-7 22:30
本帖最后由 523066680 于 2015-6-5 20:42 编辑
回复 QIAOXINGXING
没去等运行结果,
你的答案是#a = 1732111210 否?
最后一位不是0
还有 ...
523066680 发表于 2013-1-7 22:09
呵呵,其实是开个玩笑,我也没等结果。网上搜了个答案, 1732111211,程序验证是对的。
作者: 523066680 时间: 2013-1-7 23:41
回复 6# QIAOXINGXING
碉堡了 (刚刚不小心编辑到了 已经撤销)
作者: 523066680 时间: 2013-1-8 11:25
本帖最后由 523066680 于 2015-6-5 20:40 编辑
沉了?题目太简单吗?
在某个群里得到两个不同结果的算法,都是秒算的
一个js一个python 现在不发上来。
另一种结果:
0 : 1
1 : 11
2 : 2
3 : 1
4 : 1
5 : 1
6 : 1
7 : 1
8 : 1
9 : 1
作者: 523066680 时间: 2013-1-8 23:57
本帖最后由 523066680 于 2015-6-5 20:41 编辑
content是一个文本文件的全名,其中的内容为
0在这十句话中出现的次数是______。
1在这十句话中出现的次数是______。
2在这十句话中出现的次数是______。
3在这十句话中出现的次数是______。
4在这十句话中出现的次数是______。
5在这十句话中出现的次数是______。
6在这十句话中出现的次数是______。
7在这十句话中出现的次数是______。
8在这十句话中出现的次数是______。
9在这十句话中出现的次数是______。
- '''
- Created on 2013-1-8
-
- @author: fengjiax
- '''
- import re
- def main():
- with open("content", "r") as fp:
- content = fp.readlines()
-
- print vic(content)
-
- def vic(content):
- values = [0 for i in range(len(content))]
- keywords = [i for i in range(10)]
-
- while True:
- update_count = 0
- for keyword in keywords:
- value = 0
- last_value = values[keyword]
- for line in content:
- value += len(re.findall(str(keyword), line))
- for val in values:
- value += len(re.findall(str(keyword), str(val)))
- values[keyword] = value
- if last_value != value:
- update_count += 1
- if not update_count:
- new_content = list()
- for key,val in enumerate(values):
- new_content.append(content[key].replace("______","__%s__" % val))
- return "".join(new_content)
-
- if __name__ == "__main__":
- import time
- s = time.time()
- main()
- print time.time() - s
- raw_input("pause")
复制代码
秒算…… 作者 fengjiax
0在这十句话中出现的次数是__1__。
1在这十句话中出现的次数是__7__。
2在这十句话中出现的次数是__3__。
3在这十句话中出现的次数是__2__。
4在这十句话中出现的次数是__1__。
5在这十句话中出现的次数是__1__。
6在这十句话中出现的次数是__1__。
7在这十句话中出现的次数是__2__。
8在这十句话中出现的次数是__1__。
9在这十句话中出现的次数是__1__。
pause
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |