原题链接:
#include<cstdio>
int main(){
int n,i;
while(scanf("%d",&n)!=EOF){
//至于为什么是小于跳出循环,如果<=跳出循环则无法正确计算i*(i+1)/2==n这时值了
for(i=1;i*(i+1)<2*n;i++);
n=n-(i-1)*i/2;
//如果是奇数
if(i%2!=0)
printf("%d/%d\n",i-n+1,n);
else
printf("%d/%d\n",n,i-n+1);
}
}
原理: