鱼C论坛

 找回密码
 立即注册
查看: 2538|回复: 12

[已解决]超时了 请问代码哪里能简化吗

[复制链接]
发表于 2019-11-5 20:25:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
n,x = map(int,input().split())
z= 0;
for i in range(1,n+1):
    a = int(i / 10000000)
    b = int(i % 10000000 / 1000000)
    c = int(i % 1000000 / 100000)
    d = int(i % 100000 / 10000)
    e = int(i % 10000 / 1000)
    f = int(i % 1000 / 100)
    g = int(i % 100 / 10)
    h = i % 10
    if a==x:
        z+=1
    if b==x:
        z+=1
    if c==x:
        z+=1
    if d==x:
        z+=1
    if e==x:
        z+=1
    if f==x:
        z+=1
    if g==x:
        z+=1
    if h==x:
        z+=1
    print(e,f,g,h)
   
print(z)
问题是题试计算在区间
11
1 到
nn
n的所有整数中,数字x(0≤x≤9) x(0 ≤ x ≤ 9)
x(0≤x≤9)共出现了多少次?
最佳答案
2019-11-5 22:07:37
本帖最后由 zltzlt 于 2019-11-5 22:09 编辑
yooooly 发表于 2019-11-5 22:05
题目描述
试计算在区间1 到  n的所有整数中,数字x(0≤x≤9) 共出现了多少次?例如,在 1到11中,即在
...

n, x = map(int, input().split())
x = str(x)
n = str(list(range(n + 1)))
print(n.count(x))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-5 20:32:59 | 显示全部楼层
麻烦把题目的原地址给出来?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 20:37:46 | 显示全部楼层
zltzlt 发表于 2019-11-5 20:32
麻烦把题目的原地址给出来?

好的 https://www.luogu.org/problem/P1046
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 20:38:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:03:38 | 显示全部楼层
zltzlt 发表于 2019-11-5 20:32
麻烦把题目的原地址给出来?

回复网址要审核-.-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:05:33 | 显示全部楼层
zltzlt 发表于 2019-11-5 20:32
麻烦把题目的原地址给出来?

题目描述
试计算在区间1 到  n的所有整数中,数字x(0≤x≤9) 共出现了多少次?例如,在 1到11中,即在
1,2,3,4,5,6,7,8,9,10,11 中,数字1 出现了 4 次。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-5 22:07:37 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zltzlt 于 2019-11-5 22:09 编辑
yooooly 发表于 2019-11-5 22:05
题目描述
试计算在区间1 到  n的所有整数中,数字x(0≤x≤9) 共出现了多少次?例如,在 1到11中,即在
...

n, x = map(int, input().split())
x = str(x)
n = str(list(range(n + 1)))
print(n.count(x))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:20:26 | 显示全部楼层

牛...牛逼  看着我的代码流下了眼泪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-5 22:22:05 From FishC Mobile | 显示全部楼层
yooooly 发表于 2019-11-5 22:20
牛...牛逼  看着我的代码流下了眼泪

这还不简单,直接转化成字符串处理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:24:24 | 显示全部楼层
zltzlt 发表于 2019-11-5 22:22
这还不简单,直接转化成字符串处理

我没想到字符串也能用list  str(list())而且count(x)会把[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1]里11的两个1都记上吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:35:46 | 显示全部楼层
zltzlt 发表于 2019-11-5 22:22
这还不简单,直接转化成字符串处理

这里是把一开始的n变成了列表吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-5 22:38:06 | 显示全部楼层
zltzlt 发表于 2019-11-5 22:22
这还不简单,直接转化成字符串处理

如果把list()里的n+1变成别的东西好像就行不通了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-6 20:55:06 | 显示全部楼层
yooooly 发表于 2019-11-5 22:35
这里是把一开始的n变成了列表吗

是的。记得设置为最佳答案哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 19:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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