pta7-2 方阵边上元素求和

求n阶方阵从外到内四周k圈上的数字之和。

输入格式:

输入数据的第一行为一个正整数T,表示测试数据的组数。然后是T组测试数据。
每组测试数据的第一行为两个整数n和k(3≤n≤15,1≤k<n/2),n表示方阵的阶数,k表示方阵从外到内四周的圈数。然后输入n行,每行n个整数。

输出格式:

对于每组测试,输出的形式为“sum=num”,其中num为所求的和值(结果保证小于231)。注意:引号不必输出。

输入样例:

2
3 1
9 8 7
3 4 8
7 5 6
5 2
9 2 5 7 2
2 6 7 2 7
2 8 5 1 4
9 6 8 7 7
3 7 9 3 8

输出样例:

sum=53
sum=131

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

这道题看似简单,其实中间有个问题,那就是k的用处。

k不是总圈数,而是我们需要求的圈数,但是直接来求比较复杂,我们可以转为成所有数相加后减去我们不需要的部分。

数组的行和列都是下标为0开始,所以我们最上方的边界就是k,下方的边界是n-1-k。

思路有了,代码就非常简单了。

#include<stdio.h>
int main(void){
    int T,n,k;
    double num,c,d,f;
    scanf("%d",&T)
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值