zoukankan      html  css  js  c++  java
  • P1014 Cantor表

    洛谷 p1014

    题目描述

    现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:

    1/1 1/2 1/3 1/4 1/5 …

    2/1 2/2 2/3 2/4 …

    3/1 3/2 3/3 …

    4/1 4/2 …

    5/1 …

    … 我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…

    输入输出格式

    输入格式:

     

    整数N(1≤N≤10000000)

     

    输出格式:

     

    表中的第N项

     

    输入输出样例

    输入样例#1:
    7
    
    输出样例#1:
    1/4

    【思路】找规律
    【code】
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,k=1,cnt;
    int main()
    {
        scanf("%d",&n);
        while(1)
        {
            if(n-k>=0)
            n-=k,cnt++,k++;//cnt表示第几层。 
            else
            break;
        }
        if(!n)
        printf("%d/%d
    ",1,cnt);
        else
        if((cnt+1)&1)
            printf("%d/%d
    ",k-n+1,n);
        else
            printf("%d/%d
    ",n,k-n+1);
        return 0;
    }


  • 相关阅读:
    innerHTML使用方法
    HDU 1426 Sudoku Killer
    Junit使用教程(一)
    HLS协议实现
    GPIO
    TraceView总结
    在kettle中实现数据验证和检查
    用户向导左右滑动页面实现之ImageSwitcher
    DWZ使用笔记
    oracle进程
  • 原文地址:https://www.cnblogs.com/zzyh/p/7043605.html
Copyright © 2011-2022 走看看