博客
关于我
P1014_Cantor表 (JAVA语言)
阅读量:151 次
发布时间:2019-02-27

本文共 1030 字,大约阅读时间需要 3 分钟。

为了解决这个问题,我们需要找到Cantor表中的第N项。Cantor表是一个有理数序列,按照特定的规律排列。我们的目标是通过给定的N,确定其对应的分数。

方法思路

  • 确定所在行:Cantor表中的每一行代表不同的分母,行号k的第一个元素的位置可以通过三角数公式来确定。三角数T(k) = k*(k+1)/2表示前k行的最后一个元素的位置。
  • 二分查找行号:使用二分查找来确定行号k,使得T(k) >= N。这个过程确保我们能准确找到N所在的行。
  • 确定位置:找到行号后,计算N在该行中的位置m。分数即为m/k。
  • 解决代码

    import java.util.Scanner;public class P1014_Cantor表 {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        int n = in.nextInt();        int low = 1;        int high = 200000;        int k_row = 0;        while (low <= high) {            int mid = (low + high) / 2;            long T_mid = (long) mid * (mid + 1) / 2;            if (T_mid < n) {                low = mid + 1;            } else {                high = mid - 1;            }        }        k_row = low;        int m = n - (k_row - 1) * k_row / 2;        System.out.println(m + "/" + k_row);    }}

    代码解释

  • 输入读取:使用Scanner读取输入的整数N。
  • 二分查找行号:通过二分查找确定N所在的行号k_row,使得三角数T(k_row) >= N。
  • 计算位置:计算N在该行中的位置m,分数即为m/k_row。
  • 输出结果:将分子和分母用"/"连接,输出结果。
  • 这种方法确保了高效准确地找到Cantor表中的第N项,并且适用于较大的N值。

    转载地址:http://nwcb.baihongyu.com/

    你可能感兴趣的文章
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_三项内容_Spring Security OAuth2.0认证授权---springcloud工作笔记141
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_授权码模式_Spring Security OAuth2.0认证授权---springcloud工作笔记144
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2.0四种模式的详解
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    oauth2登录认证之SpringSecurity源码分析
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA让企业业务流程管理科学有“据”
    查看>>
    OA项目之会议通知(查询&是否参会&反馈详情)
    查看>>
    Vue.js 学习总结(13)—— Vue3 version 计数介绍
    查看>>
    OA项目之我的会议(会议排座&送审)
    查看>>