求n阶幻方的一种算法实现C/C++
来源:互联网 发布:linux查看二进制文件 编辑:程序博客网 时间:2024/04/19 05:37
求n阶幻方方的一种实现。这里的n只能是一个奇数。它是la Loubere 在17世界发现的构造方法。
#include<stdio.h>int a[10][10]; void magic_circle(int n){ int k =2; int i=0,j=n/2; a[i][j]=1; printf("%d\n",n); for(int t =0;t<n*n;t++){ if(i==0&&(j+1)<n){ a[n-1][j+1]=k++; i=n-1; j++; continue; } if(j==n-1&&(i-1)>=0){ a[i-1][0]=k++; i--; j=0; continue; } if(a[i-1][j+1]>0||(i==0&&j==n-1)){ a[i+1][j]=k++; i++; continue; } a[i-1][j+1]=k++; i--;j++; } for(int i=0;i<n;i++) { for(int j=0;j<n;j++)printf("%d\t",a[i][j]); printf("\n"); } //return a; } int main(){ int n=9; //int a[n][n]; magic_circle(n); /*for(int i=0;i<n;i++) { for(int j=0;j<n;j++) printf("%d\t",a[i][j]); printf("\n"); }*/ getchar(); return 0; }
示例结果:
- 求n阶幻方的一种算法实现C/C++
- 求n!的算法和C 实现
- C实现N!的算法
- 求N!的C的两种算法实现,求阶乘.从失败中寻找自我
- 求des算法的c语言实现
- 算法 - 求n个数的中位数(C++)
- n!的c实现。
- 银行家算法的一种实现——使用C语言
- 递归算法——求Fibonacci数列前n项(Java实现&C语言实现)
- n阶多项式拟合与n阶矩阵求逆的C语言实现
- 我用C语言实现“ 输入一个整数n,并求该整数n的阶乘”
- 求组合数的递归实现,即求C(n,m)
- 扩展的欧几里得算法求最大公约数的C/C++ 实现
- 求N的阶乘C语言程序
- 求C(m,n)的大数模板
- c语言递归求n的阶乘
- C:求n的阶乘和
- C 里 求 log2 N 的问题
- 数组插入数据
- 怎样用DirectShow来压缩一个AVI文件
- 软件工程(三)软件需求分析
- SAP 批量扩充会计和成本视图
- ABAP中Set Country的应用
- 求n阶幻方的一种算法实现C/C++
- NULL指针、零指针、野指针
- 为什么 javascript 中 0.1 + 0.2 !== 0.3 为 True
- codefroces 2B The least round way
- FusionCharts Free中文开发指南 第十二章--FCF中的特殊字符
- 笔记-spring 注入
- ArcGIS JavaScript API本地部署离线开发环境
- http://www.slideshare.net
- C++的一些基本知识,不会会抓狂