P1014

2023-12-07 18:09
文章标签 p1014

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/466850

相关文章

洛谷_P1014 [NOIP1999 普及组] Cantor 表_python写法

这道题其实没什么特别的,最重要就是仔细分析找到其中的数学规律。 以斜着为行,每一行的数值就是与第几行有关。 那对于Z字形而言就是行数的奇偶判断。 n = int(input())ans = 0flag = 0l = ['0']while ans < n:flag += 1ans += flagans -= flagn -= ansj = flagif flag%2 =

【ETOJ P1014】straax‘aks Array 题解(多重循环+暴力枚举+位运算)

题目描述 给定一个长度为 n n n 的数组 a a a 和一个整数 m m m,问数组中有多少个三元组 ( i , j , k ) (i,j,k) (i,j,k),满足: i < j < k i < j < k i<j<k ( a i + a j + a k ) × ( a i ⊕ a j ⊕ a k ) ≥ m (a_i + a_j + a_k) \times (a_i \opl