#P12876. [蓝桥杯 2025 国 Python A] 杨辉三角

[蓝桥杯 2025 国 Python A] 杨辉三角

题目描述

小蓝最近迷上了杨辉三角, 杨辉三角是一个无限向下递增的数字三角形。下图展示了杨辉三角的前 1111 行:

我们定义函数 f(i)f(i) 表示数字 ii 在杨辉三角中出现的次数(其中 i2i \geq 2)。

现在,给定一个正整数 nnn2n \geq 2),请你完成以下任务:

  • 对于所有满足 2xn2 \leq x \leq n 的整数 xx,计算出对应的 f(x)f(x)
  • 将所有具有相同 f(x)f(x) 值的数字归为一组;
  • 统计并输出每个不同的 f(x)f(x) 值出现了多少次。

输入格式

输入一行包含一个正整数 nn

输出格式

输出若干行。第 ii 行包含两个整数 vi,civ_i, c_i,用一个空格分隔,表示使得函数 f(x)=vif(x) = v_i 的个数为 cic_i。按照 viv_i 从小到大的顺序输出。

5
1 1
2 3

提示

【样例说明】

xx 的取值范围是 [2,5][2, 5],其中 f(2)=1f(2) = 1f(3)=f(4)=f(5)=2f(3) = f(4) = f(5) = 2,即值为 11 出现了 11 次,值为 22 出现了 33 次。

【评测用例规模与约定】

对于 20%20\% 的评测用例,2n1002 \leq n \leq 100

对于 40%40\% 的评测用例,2n10002 \leq n \leq 1000

对于 60%60\% 的评测用例,2n10,0002 \leq n \leq 10,000

对于所有评测用例,2n100,0002 \leq n \leq 100,000