咱們以Z字形給上表的每一項編號。第一項是1/1,而後是1/2,2/1,3/1,2/2,… ios
整數N(1≤N≤10000000)
表中的第N項
1/4
#include<iostream> #include<algorithm> using namespace std; int main() { int n; cin>>n; int x=1,y=1; int flag=0; while(1) { if(x==1) { y++; n--; if(n==1) break; while(y>1) { y--; x++; n--; if(n==1) { flag = 1; break; } } if(flag == 1) break; } else if(y==1) { x++; n--; if(n==1) break; while(x>1) { x--; y++; n--; if(n==1) { flag = 1; break; } } if(flag==1) break; } } cout<<x<<"/"<<y; }
純模擬,沒技巧,判斷點爲行爲1或列爲1spa