[NOIP1999 普及组] Cantor 表
题目描述
现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:

我们以 Z 字形给上表的每一项编号。第一项是 1 / 1 1/1 1/1,然后是 1 / 2 1/2 1/2, 2 / 1 2/1 2/1, 3 / 1 3/1 3/1, 2 / 2 2/2 2/2,…
输入格式
整数 N N N( 1 ≤ N ≤ 1 0 7 1 \leq N \leq 10^7 1≤N≤107)。
输出格式
表中的第 N N N 项。
样例 #1
样例输入 #1
7
样例输出 #1
1/4
问题链接: P1014 [NOIP1999 普及组] Cantor 表
问题分析: 数学规律问题,不解释。
参考链接: (略)
题记: (略)
AC的C语言程序如下:
/* P1014 Cantor 表 */
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i;
for (i = 1; ; i++)
if (i < n) n -= i;
else break;
if (i % 2 == 0)
printf("%d/%d\n", n, i - n + 1);
else
printf("%d/%d\n", i - n + 1, n);
return 0;
}
Cantor表问题:编程求解第N项

本文介绍了GeorgCantor的数学证明,关于有理数的可枚举性,并提供了使用C语言编写的程序来计算Z字形表中第N项的示例。

被折叠的 条评论
为什么被折叠?



