一小题
来源:互联网 发布:淘宝追加评论规则 编辑:程序博客网 时间:2024/06/15 01:30
打印 如下形式 的矩阵;
n=5:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
n=6:
1 2 9 10 25 26
4 3 8 11 24 27
5 6 7 12 23 28
16 15 14 13 22 29
17 18 19 20 21 30
36 35 34 33 32 31
--------------------------------------------------------------------
解题思路:
1. 假设数组的编号从1开始
2. 则对角线上的元素值为: a[i][i]= i*i-i+1;
如果i为奇数,则a[i][i]上方的元素依次递增,左侧元素依次递减;
如果i为偶数,则a[i][i]上方的元素依次递减,左侧元素依次递增;
优化后的代码:
Cpp代码
- int compute(int i,int j)
- {
- int max = i>j?i:j;
- if (max%2)
- return max*max -max +1 -(i-j);
- else
- return max*max -max +1 +(i-j);
- }
- void printMatrix2(int n)
- {
- for(int i=1;i<=n;i++)
- {
- for (int j=1;j<=n;j++)
- {
- printf("%2d ", compute(i,j));
- }
- printf("\n");
- }
- }
- int main(int argc, char* argv[])
- {
- printMatrix2(6);
- return 0;
- }
0 0
- 一小题
- 金山训练营的一小题(可能我的这个算法不是太好,呵呵,不知各位还有其他的思路没)
- C++添加一个头文件和extern以及全局变量和局部变量问题(清C++蓝书16.3.19上机的一小题)
- tag的将数据用于内存中
- Activities在Android平台的完整生态系统
- 重载back按钮响应事件
- hosts文件修改
- 树形菜单tag框架 非树形的点击事件
- 一小题
- 【转】Android 下实现带有图标的 ListView Item
- 方法方法
- RabbitMQ-C客户端使用说明
- 【转】Android 下实现 ListView 中添加 CheckBox
- 关于curl返回数据乱码的问题解决方法
- ui树形组建的渲染 tag菜单初始化展现控制 (树形)
- 【原创】Service如何关闭启动自己的Activity
- [转]关于Activity和Task的设计思路和方法