蓝桥杯-python-统计数字

统计数字

题目描述

某次科研调查时得到了 n 个自然数,每个数均不超过 1.5 <=10^9。已知不相同的数不超过 10^4个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

输入描述

第 1 行是整数 n,表示自然数的个数。

第 2 ~ n+1行每行一个自然数。

其中,1≤n≤2× 105,每个数均不超过1.5≤109。

输出描述

输出 m行( m为 n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

输入输出样例

输入

8
2
4
2
4
5
100
2
100

输出

2 3
4 2
5 1
100 2

做题过程:

由于用惯了python,想到了有字典可以在输入后就计数,没想到用先排列也可以做

python-字典

n=int(input())
num=[]
result={
   
   }
for i in range(n
### 蓝桥杯 Python 真题及解析 蓝桥杯竞赛作为一项面向全国的编程赛事,其试题涵盖了广泛的领域和难度层次。以下是关于蓝桥杯 Python 的一些经典真题及其解析。 #### 字出现次问题 在蓝桥杯青少年组的一道典型题目中,涉及统计某个数字在给定范围内出现的总次[^1]。这类问题通常可以通过字符串处理的方式解决: ```python def count_digit_occurrences(start, end, digit): count = 0 for num in range(start, end + 1): count += str(num).count(str(digit)) return count start = int(input("请输入起始值:")) end = int(input("请输入结束值:")) digit = int(input("请输入要查找的字(0-9):")) result = count_digit_occurrences(start, end, digit) print(f"字 {digit} 在 [{start}, {end}] 范围内共出现了 {result} 次") ``` 此代码通过将每个整转换为字符串并调用 `str.count()` 方法实现计功能。 --- #### 计算三个数的最小公倍 另一类常见问题是求多个数的最小公倍 (LCM)[^2]。下面是一个基于枚举法的解决方案: ```python from math import gcd def lcm(a, b): return abs(a * b) // gcd(a, b) def find_lcm_of_three_numbers(x, y, z): temp = lcm(x, y) result = lcm(temp, z) return result x = int(input("请输入第一个正整数:")) y = int(input("请输入第二个正整数:")) z = int(input("请输入第三个正整数:")) lcm_result = find_lcm_of_three_numbers(x, y, z) print(f"{x}, {y}, {z} 的最小公倍是 {lcm_result}") ``` 上述方法利用了辗转相除法计算最大公约,并进一步推导出两之间的 LCM,最终扩展到三情况[^2]。 --- #### 绘制特定图案 绘制几何形状也是蓝桥杯中的热点之一[^3]。例如,要求用户输入参后生成指定大小的直角三角形: ```python n = int(input("请输入三角形的高度:")) for i in range(1, n + 1): print('*' * i) ``` 这段脚本展示了如何借助嵌套循环完成简单的 ASCII 图形渲染任务。 --- #### 输入与输出交互 许多基础题目考察选手对于基本 I/O 操作的理解程度。比如读取多组测试样例的据并逐一回应它们的结果。这里提供了一个通用框架供参考: ```python test_cases = int(input()) results = [] for _ in range(test_cases): data = list(map(int, input().split())) results.append(sum(data)) # 可替换为目标逻辑运算 for res in results: print(res) ``` 这种结构非常适合批量处理独立子问题的情形。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值