题解 P1014 【Cantor表】

char32_t

2017-12-13 15:55:26

Solution

#P1014 【Cantor表】 ------------ ####模拟题 **建议在Excel上打出Cantor表,再找规律(还有一个好处是可以用来测试)** ~~如图~~ 如表: 1/1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 2/1 2/2 2/3 2/4 2/5 2/6 2/7 2/8 3/1 3/2 3/3 3/4 3/5 3/6 3/7 4/1 4/2 4/3 4/4 4/5 4/6 5/1 5/2 5/3 5/4 5/5 6/1 6/2 6/3 6/4 7/1 7/2 7/3 8/1 8/2 9/1 **(普及)在单元格中输入分数前先输入一个单引号,避免被判断为日期** ```cpp #include<cstdio> int main() { int n, i=0, j=0;//前i条斜线一共j个数 scanf("%d", &n); while(n>j) {//找到最小的i使得j>=n i++; j+=i; } if(i%2==1) printf("%d/%d",j-n+1,i+n-j);//i的奇偶决定着斜线上数的顺序,n是第i条斜线上倒数第j-n+1个数 else printf("%d/%d",i+n-j,j-n+1);//若i是偶数,第i条斜线上倒数第i个元素是(i+1-i)/i return 0; } ```