已知一个3 * 3矩阵,求对角线元素的和,并且中间的只可以加一次
2014-12-05 23:00
246 查看
这道题有很多的方法,这是自己想出来的一个规律
例如
行 列 1 2 3
1
1 2 3
2
4 5 6
3
7 8 9
这里可以发现规律行和列的差 可以分辨出对角线的元素的位置,可以很快地找到
例如当 abs(行 - 列) != 1,才是对角线的元素,对于中间的元素只相加一次的话,
可以每次输入就相加。可以解决问题。
代码:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int sum = 0;
for(int i = 1; i <= 3; ++i)
{
int temp;
for(int j = 1; j <= 3; ++j)
{
cin>>temp;
if(abs(i - j) != 1)
{
sum += temp;
}
}
}
printf("%d\n", sum);
return 0;
}
例如
行 列 1 2 3
1
1 2 3
2
4 5 6
3
7 8 9
这里可以发现规律行和列的差 可以分辨出对角线的元素的位置,可以很快地找到
例如当 abs(行 - 列) != 1,才是对角线的元素,对于中间的元素只相加一次的话,
可以每次输入就相加。可以解决问题。
代码:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int sum = 0;
for(int i = 1; i <= 3; ++i)
{
int temp;
for(int j = 1; j <= 3; ++j)
{
cin>>temp;
if(abs(i - j) != 1)
{
sum += temp;
}
}
}
printf("%d\n", sum);
return 0;
}
相关文章推荐
- 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定
- 给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,写出算法。
- 给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,写出算法!
- 在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会
- 商店销售统计,每天有一个折扣价格,一次购10件以上者可以享受9.8折优惠,已知三个销售员的销售情况,运用静态数据成员和静态成员函数编写程序
- 给定一个整数数组,两个数字的返回索引将它们加到一个特定的目标中。 您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳3级。求该青蛙跳上一个n级的台阶总共有多少种跳法,并且打印所有跳跃路径。
- 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<
- 给出一个单链表,不知道节点N的值,怎么遍历一次就可以求出中间节点
- 给出一个单链表,不知道N的值,怎样遍历一次就可以求出中间结点
- 给一个单链表,不知道结点N的值,怎样只遍历一次就可以求出中间结点,写出算法
- 在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会
- 找到一个二维矩阵中所有包含0的,并且把0元素所在行与列全部转换成0的算法!
- IE6中,一个Button同时打开两个下载窗口,并且可以自动关闭
- C#自己编写的一个函数 可以删除字符串中指定开头和结尾中间的字符串
- 如何在c/c++中,做一个可以接收任意二维数组的函数接口,并在函数中能以下标的形式引用元素
- 输入一个N阶方阵个元素的值求出两条对角线元素值之和
- 阿里巴巴面试算法题:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL。现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N
- YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化。
- 分析RSSOwl如何做到只运行一个实例,并且可以激活