蓝桥杯算法训练之1的个数(Python)

在这里插入图片描述
法一:

n=int(input())
sum=0
for i in range(1,n+1):
    i=str(i)
    for j in range(len(i)):
        if i[j]=='1':
            sum+=1
print(sum)

法二:

n=int(input())
sum=0
for i in range(1,n+1):
    a=i//10000
    if a==1:
        sum+=1
    b=(i-10000*a)//1000
    if b==1:
        sum+=1
    c=(i-10000*a-1000*b)//100
    if c==1:
        sum+=1
    d=(i-10000*a-1000*b-100*c)//10
    if d==1:
        sum+=1
    e=i-10000*a-1000*b-100*c-d*10
    if e==1:
        sum+=1
print(sum)
发布了20 篇原创文章 · 获赞 10 · 访问量 1225

猜你喜欢

转载自blog.csdn.net/qq_43613793/article/details/103228272