分治法:
数字旋转方阵问题

#include<stdio.h>
#include <iostream>
#include<iomanip>
using namespace std;
int data[5][5];
void Full(int number,int begin,int size){int i,j,k;if(size==0)return;if(size==1){data[begin][begin]=number;return;}i=begin;j=begin;for(k=0;k<size-1;k++){data[i][j]=number;number++;i++;}for(k=0;k<size-1;k++){data[i][j]=number;number++;j++;}for(k=0;k<size-1;k++){data[i][j]=number;number++;i--;}for(k=0;k<size-1;k++){data[i][j]=number;number++;j--;}Full(number,begin+1,size-2);
}void main(){Full(1,0,5);for(int i=0;i<5;i++){for(int j=0;j<5;j++)cout<<setw(4)<<data[i][j];cout<<'\n';}
}

运行结果:

如有转载,需要告知

数字旋转方阵问题-分治法相关推荐

  1. 算法设计与分析:分治法输出数字旋转方阵

    分治法输出数字旋转方阵 数字旋转方阵如下图所示: 从下图可以看出,从左上角开始,逆时针放置每次增加1的数字,直到"旋转"到最里层终止. 分治:将这个矩阵填数之时一层一层地填进去,也 ...

  2. 数字旋转方阵c语言主函数,数据结构——递归求数字旋转方阵

    [数字旋转方阵问题] 问题描述:输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. void FillInNum(int number, int ...

  3. 递归-数字旋转方阵问题

    问题描述: 输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. 核心思想: 先用数组a[i][j]存储数字num(从1至N2),然后打印. 递归 ...

  4. 数字旋转方阵 c++数据结构

    实现输出10*10以内的数字旋转方阵,如果需要修改输出的方阵的大小可以改变N的值 #include<iostream> using namespace std; const int N= ...

  5. 算法学习——数字旋转方阵

    分析题目 将N*N矩阵分为四个部分,A,B,C,D,对这四个部分依次填充,内层同理 步骤如下:(非递归算法) 定义全局二维数组用于存放矩阵 宏定义一个常量N 编写full()函数用于填充二维数组 对A ...

  6. java 分治法排序_分治法实现1-N的数字按字典序全排列组合 Java语言

    package 分治法; import java.util.Arrays; /* * 将数字 1 - n进行全排列 按字典序从小到大输出 * 如 1 - 3 * 123 132 213 231 312 ...

  7. 算法设计思想(4)— 分治法

    1. 分治法概念 分治,顾名思义,分而治之. 具体来说,它先将一个难以直接解决的大问题,分割成一些可以直接解决的小问题.如果分割后的问题仍然无法直接解决,那么就继续递归地分割,直到每个小问题都可解. ...

  8. python 实现分治法的几个例子

    分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质.3) 利用该问题分解出的子问题 ...

  9. 用C语言实现分治方法数组的排序,C语言实现分治法实例

    本文为大家分享了C语言实现分治法实例代码,供大家参考,具体内容如下 使用分治法求最大值 这个函数将数组a[l]...a[r]分成a[l],...,a[m]和a[m+1],...a[r]两部分,分别求出 ...

最新文章

  1. .Net Remoting 1
  2. idea java 注释模板配置
  3. 调试opengl程序出错
  4. [Verilog] 薄膜建盤4X4 電路程式設計
  5. 一个服务调用另一个服务的步骤
  6. string和wstring相互转换以及wstring显示中文问题
  7. ArcGIS Runtime SDK for Android 加载shp数据,中文乱码问题
  8. 将多个txt文件合并成一个
  9. 混合线性模型笔记2:概念解释
  10. 微信营销有哪些优缺点?
  11. mysql 过滤微信昵称表情符号_js 过滤微信昵称的表情符号
  12. DNS服务器常见的攻击方式
  13. MySQL讲义第 43 讲——select 查询之查询练习(一)
  14. 动态修改esxi虚拟机的CPU和内容
  15. Python——>图像的字符画绘制
  16. EF 通用帮助类 含分页 Lambda 拼接表达式
  17. java中整数的整数次方_数值的整数次方java
  18. Dell戴尔笔记本电脑G16 7620原装出厂Windows11系统恢复原厂oem系统
  19. 最小生成树(普里姆算法)
  20. DataGridView控件页脚会总行的最佳实现。

热门文章

  1. R语言 解决不能安装包的问题install.packages() cannot open url
  2. linux firefox 段错误,中标麒麟v10在arm64下360浏览器(chromium)访问崩溃(段错误)
  3. RecyclerView实现词书管理界面
  4. SQL2008 R2安装功能选择
  5. 【观察】神州数码:向云而生,纵情向前
  6. 系统数据占用太多怎么清理 ios iphone
  7. 过亿融资的光粒科技,能否掀起AR新风?
  8. 学java看什么书好
  9. java脏字过滤_java 过滤脏字
  10. 经济学说演化的基本脉络