本文主要是介绍P1014,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
1/11/1 , 1/21/2 , 1/31/3 , 1/41/4, 1/51/5, …
2/12/1, 2/22/2 , 2/32/3, 2/42/4, …
3/13/1 , 3/23/2, 3/33/3, …
4/14/1, 4/24/2, …
5/15/1, …
… 我们以ZZ字形给上表的每一项编号。第一项是1/11/1,然后是1/21/2,2/12/1,3/13/1,2/22/2,…
输入输出格式
输入格式:
整数NN(1≤N≤100000001≤N≤10000000)
输出格式:
表中的第NN项
输入输出样例
输入样例#1: 复制
7
输出样例#1: 复制
1/4
代码:#include
#include
#include
using namespace std;
int main()
{
int n, a, b, s;
while(scanf("%d",&n)==1)
{
s = 0;
for (int i = 2; i < n+3; i++)
for (a = i - 1, b = 1; a > 0, b < i;a–,b++)
{
s++;
if (n == s)
{
printf("%d/%d\n", a, b);
return 0;
}
}
}
}
。。。。。这个题目就比较简单了,只是需要注意当i2,3,4时,如果是i<n的话会无法运算。。。所以n必须加3。。。。
这篇关于P1014的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!