zoukankan      html  css  js  c++  java
  • (模拟) codeVs1083 && 洛谷P1014 Cantor表

    题目描述 Description

    现代数学的著名证明之一是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,…

    输入描述 Input Description

    整数N(1≤N≤10000000)

    输出描述 Output Description

    表中的第N项

    样例输入 Sample Input

    7

    样例输出 Sample Output

    1/4

    模拟题,用flag来判断上升和下降,如果到了边界,比如分子或分母为1,就改变flag,并增加分母或分子的值

    C++代码:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main(){
        int n;
        cin>>n;
        int left = 1,right = 1;
        bool flag = true;
        for(int i = 2; i <= n; i++){
            if(left == 1 && flag){
                right++;
                flag = !flag;
            }
            else if(right == 1 && !flag){
                left++;
                flag = !flag;
            }
            else if(flag){
                left--;
                right++;
            }
            else{
                left++;
                right--;
            }
        }
        cout<<left<<"/"<<right<<endl;
        return 0;
    }
  • 相关阅读:
    Wide & Deep Learning for Recommender Systems
    两个经典问题
    Vlog简介
    中文dumps显示
    用Python提取中文关键词
    【STL】算法 — partial_sort
    c字符串分割 strtok()
    JSP的声明(statement)
    layui之ajax巨坑
    jQuery 库中的 $() 是什么?(答案如下)
  • 原文地址:https://www.cnblogs.com/Weixu-Liu/p/10630188.html
Copyright © 2011-2022 走看看