题目描述:
试计算在区间 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=0 for i in range(1,n+1): t=i while t!=0: p=t%10 t=t//10 if p==x: c+=1 print(c)
方法2.直接将数字输入为字符串,然后判断子串中某数字出现的次数
1>遍历1-n,得到每一个整数;
2>将整数转换成字符串
3>遍历这个转换后的数字字符串,判断字符与x是否相等,相同则累加
4>输出结果
参考程序:
n=int(input()) x=input() c=0 for i in range(1,n+1): t=str(i) for p in t: if p==x: c+=1 print(c)
本站内容未经许可,禁止任何网站及个人进行转载。