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

    题目描述

    现代数学的著名证明之一是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
    思路:找规律
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,num,pos;
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            n-=i;num++;
            if(n<0){ n+=i;num--;break; }
            if(n==0)    break;
        }
        if(num%2==0){
            if(n==0){ cout<<num<<"/1";}
            else{ pos=num+1;cout<<pos-n+1<<"/"<<pos-(pos-n+1)+1; }
        }
        else{
            if(n==0){ cout<<"1/"<<num; }
            else{ pos=num+1; cout<<n<<"/"<<pos-n+1; }
        }
    }
     
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    13 数据库主从
    12 数据备份
    11 锁机制
    12 日志
    10 索引(二)
    09 索引
    update kernel 3.10-3.12
    haproxy para config
    mysql slave to master
    storage disk
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7853243.html
Copyright © 2011-2022 走看看