本文共 1030 字,大约阅读时间需要 3 分钟。
为了解决这个问题,我们需要找到Cantor表中的第N项。Cantor表是一个有理数序列,按照特定的规律排列。我们的目标是通过给定的N,确定其对应的分数。
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); }} 这种方法确保了高效准确地找到Cantor表中的第N项,并且适用于较大的N值。
转载地址:http://nwcb.baihongyu.com/