程序员面试宝典:输出zigzag数组
2016-09-21 20:14
190 查看
一道题,感觉有点意思,稍微做了做
int func(int m, int n) { if(m==0&&n==0) return 0; else if((m==0&&n!=0)) { return n%2==0? func(m+1,n-1)+1: func(m,n-1)+1; } else if((m!=0&&n==0)) { return m%2==0? func(m-1,n)+1: func(m-1,n+1)+1; } else if((m==7&&n!=7)) { return n%2==0? func(m-1,n+1)+1: func(m,n-1)+1; } else if((m!=7&&n==7)) { return m%2==0? func(m-1,n)+1: func(m+1,n-1)+1; } else if((m==7&&n==7)) { return 63; } else { return (m+n)%2==0? func(m+1,n-1)+1: func(m-1,n+1)+1; } } int main(void) { int b[8][8]; for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { b[i][j]=func(i,j); cout<<b[i][j]<<", "; } cout<<endl; } }
相关文章推荐
- 【第八章】zigzag数组输出
- C++问题---Zigzag数组输出
- 重新开始战斗22-程序员面试宝典-P66_7.2面试题3--局部数组和全局数组问题
- 数组倒序输出
- 【题目】:输入一个非负整形数组,其中每个数代表紧挨着的宽为1的墙的高度,输出这些墙之间能积水的体积。函数接口为 int Volume(int * height,int n),要求只能遍历一 遍数组,且
- LeetCode 16. 3Sum Closest--寻找数组中的三个元素和,该和与给定的值的差最小,输出这个和(三个元素可以不连续)
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 第二章 基本数据类型,输入、输出,数组 分类: java 2009-12-29 16:48 339人阅读 评论(0) 收藏
- 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。。
- //输出蛇形数组
- 整型数组以字符串输出 Arrays.toString(temp)应用
- java---实现数组的输出
- 关于输出给定数组的k大小的子集
- Stm32打印输出数组溢出问题
- matlab之在输出的数组中加入空格
- 60}的C程序 高手帮忙写下`` 46 35 27 21 16 10 9 5 然后输出数组a。已知 int a[11]={1 使数组a仍然有序 将x插入到有序整型数组a中 由键盘输入一个整数x
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 第十四周项目一数组大折腾(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素
- printf输出数组的内容
- 直接输出数组的最大值或者最小值