/* 找规律
第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
*/
#include<cstdio> int main() { int n;scanf("%d",&n); int t=1,ans=0;//t是表示下一次跳到下一次的距离,ans是表示第几层 while(1) { if(n>t){n-=t;ans++;t++;}//printf("%d\n",ans); else if(n==t&&ans%2==0){printf("1/%d",ans+1);break;} //如果在n==t,并且为偶数层,就在第一行 第ans+1个 else if(n==t&&ans%2!=0){printf("%d/1",ans+1);break;} //如果在n==t,并且为奇数层,就在第ans+1行 第一个 else if(n<t&&ans%2!=0){printf("%d/%d",ans+n-t+1,t-n+1);break;} //如果在n<t,并且为奇数层,t-n+1表示该层最后一个往后走n-1步,ans+n-t+1示该层最后一个往上走t-1步 else if(n<t&&ans%2==0){printf("%d/%d",t-n+1,ans+n-t+1);break;} // 如果在n<t,并且为偶数层,t-n+1表示该层最后一个往上走n-1步,ans+n-t+1示该层最后一个往后走t-1步 } return 0; }