温馨提示:本站为童趣票务官方授权演出订票中心,请放心购买。
你现在的位置:首页 > 演出资讯  > 儿童亲子

NOC青少儿编程大赛Python复赛真题解析-数字出现次数

更新时间:2024-12-05 16:58  浏览量:30

题目描述:

试计算在区间 1 到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。

输入:2 行,分别包括 2 个整数 n,x。

输出:1 个整数,表示 x 出现的次数。

解析:

这一题难度不大,可以利用整数的特点以及字符串的特点来做。

方法1.利用整数的特点:循环整除取余数,并判断

1>遍历1-n,得到每一个整数;

2>对整数采用循环整除取余数的方法得到每一位上的数字;

3>判断每一位数是否等于x,是则进行累加;

4>输出最终结果;

参考程序:

n=int(input)x=int(input)c=0for i in range(1,n+1):t=iwhile t!=0:p=tt=t//10if p==x:c+=1print(c)

方法2.直接将数字输入为字符串,然后判断子串中某数字出现的次数

1>遍历1-n,得到每一个整数;

2>将整数转换成字符串

3>遍历这个转换后的数字字符串,判断字符与x是否相等,相同则累加

4>输出结果

参考程序:

n=int(input)x=inputc=0for i in range(1,n+1):t=str(i)for p in t:if p==x:c+=1print(c)
标签: 青少儿 python noc