蓝桥杯2020 蛇形填数

简介: 蓝桥杯2020 蛇形填数

20210315092713480.png

思路分析


通过观察可知第 n 行 n 列(n= 1,2,3,4…): 1, 5, 13 , 25 每个数之差分别为: 4 ,8, 12 是一个等差数列…所以只需要求出 19个等差数列之和 再 + 1 即为 20 行 20 列的数. 19 * (4 + 4 + 18 * 4) / 2 + 1 = 761

另外除了做出这个题,我们可以尝试把这个蛇形矩阵打印出来.通过观察便可轻易获得规律


20210315093250475.jpg


代码如下


#include<iostream>
using namespace std;
const int maxsize = 40; 
int arr[maxsize][maxsize];
int main()
{
  int flag = 1;
  for(int i = 1;  i <= 40; i++)//控制总列,行数 
  {
    //奇数行  x: i -> 1 y:1 -> i
    if(i % 2 == 1)
    {
      for(int x = i,y = 1; x >= 1 && y <= i ; x--,y++ )
      {
        arr[x][y] = flag++;
      }
    }else{ // 偶数行  x: 1 -> i y: i->1 
      for(int y = i,x = 1; y >= 1 && x <= i ; y--,x++ )
      {
        arr[x][y] = flag++;
      }
    }
  }
//  由于数据太多,就打了前十行. 
  for(int i = 1; i <= 10; i++)
  {
    for(int j = 1; j <= 10; j++)
    {
      printf("%3d",arr[i][j]);
      printf("  ");
    }
    printf("\n");
  }
  return 0;
 } 


运行结果

20210315115919951.png



相关文章
每日一练蓝桥杯C/C++B组~蛇形填数
每日一练蓝桥杯C/C++B组~蛇形填数
127 30
每日一练蓝桥杯C/C++B组~蛇形填数
|
Java
第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
134 0
第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
|
7月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
84 1
|
7月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
110 0
|
7月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
86 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
85 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
92 0
|
7月前
|
机器学习/深度学习 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
93 0