我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
整数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或列为1
原文:https://www.cnblogs.com/miliye/p/10200049.html