输入
7
输出
1/4
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main (){
//难点在找规律
/*
第1行 1/1
第2行 1/2 2/1
第3行 3/1 2/2 1/3
第4行 1/4 2/3 3/2 4/1
第5行 5/1 4/2 3/3 2/4 1/5
*/
//发现了吗,奇数行分母行为第几项,偶数行分子为第几项
//分子分母和为行数+1
int n,i,j,k;
scanf ("%d",&n);
int an,an1=0;
for (i = 1;an1 <= n;i++) {
an=(i*(i-1)/2)+1;
an1=(i*(i+1)/2)+1;
//通过简单的归纳我们可以得到每行第一项的编号通项公式
}
//上面循环为找到第n项的行数i
for (j = an;j <= n;j++){
if (j == n) {
if (i%2 == 0) printf ("%d/%d",i-j+an-1,j-an+1);
else printf ("%d/%d",j-an+1,i-j+an-1);
// 所以按奇数偶数情况分别输出项数,行数+1与项数之差
}
}
return 0;
}