螺旋输出数列
2016-05-07 17:57
330 查看
21 22 ................
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
如上,设1的坐标为(0,0),2方向为x正,4方向为y正,现随意给一坐标,输出对应的数字。
C++代码如下:
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
如上,设1的坐标为(0,0),2方向为x正,4方向为y正,现随意给一坐标,输出对应的数字。
C++代码如下:
#define abs(a) ((a)>0?a:-(a)) #define max(a,b) ((a)<(b)?(b):(a))
int foo(int x,int y) { int t; int u; t=max(abs(x),abs(y)); u=(2*t-1)*(2*t-1); if(x == t) { if(y>=0)return u+t+y; if((y<0)&&(abs(y)!=x))return u+t+y; } if(-x == t) { if((y>0)&&(y != t))return u+5*t-y; if(y<=0)return u+5*t-y; } if(y == t) { if((x>=0)&&(x != t))return u+3*t-x; if(x<0)return u+3*t-x; } if(-y == t) { if(x>=0)return u+7*t+x; if((x<0)&&(abs(x) != t))return u+7*t+x; } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性