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<algorithm>
using namespace std;
int sum[],n;
int main(){
for(int i=;i<=;i++)sum[i]=sum[i-]+i;
scanf("%d",&n);
int pos=lower_bound(sum+,sum+,n)-sum;
int s=sum[pos-]+;int plus=pos+;//分子和分母之和为plus
int mu=n-s+;
int z=plus-mu;
if(pos%==)swap(z,mu);
printf("%d/%d",z,mu);
}

最新文章

  1. js-延迟处理函数
  2. LeetCode Strobogrammatic Number II
  3. [PCL]2 点云法向量计算NormalEstimation
  4. centos下 forever: 让nodejs应用后台执行
  5. 安装scrapy
  6. (转)mysql 的 find_in_set函数使用方法
  7. 从汇编看c++成员函数指针(三)
  8. mysql for windows zip版安装
  9. dotweb——go语言的一个微型web框架(一)
  10. Windows XP 的最高版本 .net framework 安装
  11. 第十五节:Expression表达式目录树(与委托的区别、自行拼接、总结几类实例间的拷贝)
  12. 使用 tag 文件定义自定义标签
  13. C# NPOI 操作excel
  14. Java虚拟机(二):JVM内存模型
  15. 解决 Electron 包下载太慢问题
  16. 稀疏矩阵的加法(用十字链表实现A=A+B)
  17. struts2的action如果返回null会怎样
  18. Linux Mint 18.1安装nvidia驱动
  19. Linux 下线程的理解
  20. c++之旅:类型的强制转换

热门文章

  1. view上下抖动特效
  2. 去js校验
  3. linux系统 标准目录及其内容
  4. iOS Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:]
  5. Linux学习之路(二)文件处理命令之下
  6. 总结近期CNN模型的发展(一)---- ResNet [1, 2] Wide ResNet [3] ResNeXt [4] DenseNet [5] DPNet [9] NASNet [10] SENet [11] Capsules [12]
  7. NO0:重新拾起C语言
  8. bzoj3312
  9. 1067 Bash 游戏v2
  10. 【Lintcode】120.Word Ladder