找出所求位置的数所在的层(层从斜方向看),因为第一行或者第一行的数有一位代表这个层数,然后递推,但是我这个题解的通过率只有25%。
有大佬可以帮帮吗
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin>>n;
int sum=0;
int i=0;
while(n>sum)
{
i++;
sum+=i;
}
if(i%2==1){
cout<<i-sum+n<<"/"<<1+sum-n;
}
else if(i%2==0){
cout<<1+sum-n<<"/"<<i-sum+n;
}
return 0;
}