P1014 [NOIP1999 普及组] Cantor 表【数学规律】

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

[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 1N107)。

输出格式

表中的第 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;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值