您的位置:首页 > 移动开发 > 微信开发

小程序(1)——输出S形数组

2012-07-20 16:20 183 查看
题目是在此处看见的:http://blog.csdn.net/haoni123321/article/details/7097516

自己实现了一种算法,贴在此处

Please input a number:10

1    2    6    7   15   16   28   29   45   46

3    5    8   14   17   27   30   44   47   64

4    9   13   18   26   31   43   48   63   65

10   12   19   25   32   42   49   62   66   79

11   20   24   33   41   50   61   67   78   80

21   23   34   40   51   60   68   77   81   90

22   35   39   52   59   69   76   82   89   91

36   38   53   58   70   75   83   88   92   97

37   54   57   71   74   84   87   93   96   98

55   56   72   73   85   86   94   95   99  100


 

我的算法计算量较大,但无需申请额外数组内存和调用递归栈。欢迎讨论啊!

#include <iostream>
using namespace std;

void snake(int n)
{
if(n <= 0)
return;

for(int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
int s = i + j;
int r = s * (s+1) / 2 + 1;
if(s % 2 == 0)
r += j;
else
r += i;

cout << r << "\t";
}
cout << endl;
}
}

int main()
{
int n;

cin >> n;
snake(n);

cin.get();
return 0;
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 input
相关文章推荐