自然数按从小到大的顺序排列成螺旋形,在2处拐一个弯,在3处拐第二个弯,在5处拐第三个弯……拐第2000个弯的是哪个数?是第两千个啊20 7 → 8 → 9 → 10↑ ↑ ↓19 6 1 → 2 11↑ ↑ ↓ ↓18 5 ← 4 ← 3 12↑ ↓17←16←15←14←13

问题描述:

自然数按从小到大的顺序排列成螺旋形,在2处拐一个弯,在3处拐第二个弯,在5处拐第三个弯……
拐第2000个弯的是哪个数?是第两千个啊
20 7 → 8 → 9 → 10
↑ ↑ ↓
19 6 1 → 2 11
↑ ↑ ↓ ↓
18 5 ← 4 ← 3 12
↑ ↓
17←16←15←14←13

设第n个拐弯的数为a(n) , 并设a(0)=1
已知a(1)=2, a(2)=3
根据排列规律,有
a(2k-1)=a(2k-2)+k k=1, 2,...
a(2k)=a(2k-1)+k k=1, 2,...
得 a(2k)=a(2(k-1))+2k
令b(k)=a(2k)
则有 b(k)=b(k-1)+2k=b(0)+2*(1+2+...+k)=1+(k+1)*k
a(2000)=a(2*1000)=b(1000)=1+(1000+1)*1000=1001001
即拐第2000个弯的是 1001001

第n处拐弯 是数x
当n为奇数时 x=((n+1)/2)^2+1
当n为偶数时x=(n/2)*(n/2+1)+1
当n为2000时 x为1001001
你可以试试前面几个拐点