#include <stdio.h>
#include <string.h> int in[]={,,,,,,,,};
int s[];
int re[][]; int sum(int su[])
{
int i,re=;
for(i=;su[i];i++)
re+=su[i];
return re;
} int main()
{
int i,j,k,count=;
memset(s,,sizeof(s));
int SUM = sum(in);
if(SUM/ != (float)SUM/9.0)
{
printf("wrong\n");
return ;
}
for(i=;i<;i++)
for(j=i+;j<;j++)
for(k=j+;k<;k++)
{
if(in[i]+in[j]+in[k] == (int)SUM/)
{
s[i]++;
s[j]++;
s[k]++;
count++;
}
}
if(count!=)
{
printf("wrong\n");
return ;
}
int flag=;
for(i=;i>=;i--)
{
if(s[i]==) re[][] = in[i];
if(s[i]== && flag==) { re[][] = in[i]; flag++; }
else if(s[i]== && flag==) { re[][] = in[i]; flag++; }
else if(s[i]== && flag==) { re[][] = in[i]; flag++; }
else if(s[i]== && flag==) { re[][] = in[i]; flag++; }
}
if(re[][]+re[][]+re[][]!=(int)SUM/)
{
int tmp;
tmp = re[][];
re[][] = re[][];
re[][] = tmp;
}
re[][] = (int)SUM/ - re[][] - re[][];
re[][] = (int)SUM/ - re[][] - re[][];
re[][] = (int)SUM/ - re[][] - re[][];
re[][] = (int)SUM/ - re[][] - re[][]; for(i=;i<;i++)
{
for(j=;j<;j++)
{
printf("%d ",re[i][j]);
}
printf("\n");
}
return ;
}

概率法求解三阶幻方[C语言]的更多相关文章

  1. 破圈法求解最小生成树c语言实现(已验证)

    破圈法求解最小生成树c语言实现(已验证) 下面是算法伪代码,每一个算法都取一个图作为输入,并返回一个边集T. 对该算法,证明T是一棵最小生成树,或者证明T不是一棵最小生成树.此外,对于每个算法,无论它 ...

  2. 基于Tire树和最大概率法的中文分词功能的Java实现

    对于分词系统的实现来说,主要应集中在两方面的考虑上:一是对语料库的组织,二是分词策略的制订. 1.   Tire树 Tire树,即字典树,是通过字串的公共前缀来对字串进行统计.排序及存储的一种树形结构 ...

  3. POJ 1061 青蛙的约会(拓展欧几里得算法求解模线性方程组详解)

    题目链接: BZOJ: https://www.lydsy.com/JudgeOnline/problem.php?id=1477 POJ: https://cn.vjudge.net/problem ...

  4. Coursera在线学习---第一节.梯度下降法与正规方程法求解模型参数比较

    一.梯度下降法 优点:即使特征变量的维度n很大,该方法依然很有效 缺点:1)需要选择学习速率α 2)需要多次迭代 二.正规方程法(Normal Equation) 该方法可以一次性求解参数Θ 优点:1 ...

  5. Hihocoder1662 : 查找三阶幻方([Offer收割]编程练习赛40)(暴力)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N x M的矩阵,请你数一数其中有多少个3 x 3的子矩阵可以构成三阶幻方? 如果3 x 3的矩阵中每一行.每一列 ...

  6. 逆波兰法求解数学表达示(C++)

    主要是栈的应用,里面有两个函数deleteSpace(),stringToDouble()在我还有一篇博客其中:对string的一些扩展函数. 本程序仅仅是主要的功能实现,没有差错控制. #inclu ...

  7. 0-1背包问题——回溯法求解【Python】

    回溯法求解0-1背包问题: 问题:背包大小 w,物品个数 n,每个物品的重量与价值分别对应 w[i] 与 v[i],求放入背包中物品的总价值最大. 回溯法核心:能进则进,进不了则换,换不了则退.(按照 ...

  8. java验证输入是否为三阶幻方

    问题描述: 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又 ...

  9. SUNTANS 及 FVCOM 对流扩散方程求解简介[TBC]

    最近接到一个任务,就是解决FVCOM中对流扩散计算不守衡问题.导师认为是其求解时候水平和垂向计算分开求解所导致的,目前我也没搞清到底有什么问题,反正就是让把SUNTANS的对流扩散计算挪到FVCOM中 ...

随机推荐

  1. sql生成20位数随机数

    declare @rnd nvarchar(50)set @rnd =''while LEN(@rnd)<20 begin set @rnd =@rnd + REPLACE ( CONVERT( ...

  2. c++线程创建传递的参数发生改变

    看看如下代码,觉得输出会是什么? #include "stdafx.h" #include <windows.h> #include <iostream> ...

  3. 检索n以内所有素数

    #include <iostream>#include <cmath> const int N=500000;//数组大小 using namespace std; int m ...

  4. CodeBlocks13.12汉化以及去掉注释及字符串的下划线

    汉化: 在安装目录 D:\Program Files\CodeBlocks\share\CodeBlocks(我的安装目录)下,新建文件夹locale,然后在locale文件夹内建立文件夹zh_CN ...

  5. Windows中进程的内存结构

    基础知识: 栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表.允许插入或删除操作的一端称为栈顶,另一端称为栈底,对栈的插入和删除操作被称为入栈和出栈. 有一组CPU指令可以实现对进程 ...

  6. 如果有需要确解MD5的,可以尝试这个网站。

    http://www.hashkiller.co.uk/md5-decrypter.aspx

  7. Linux下安装Wireshark

    Linux下安装Wireshark wireshark依赖于libpcap,所以如果系统中未安装libpcap,也要将其一并安装 一.下载源码 源码文件 wireshark-x.x.x.tar.gz  ...

  8. Delphi2007下CIS的clHttp使用

    Delphi组件Clever Suite Internet是一款优秀的网络组件,唯一让我感觉不足的是ClHttp竟然使用了断言,当程序遇到问题的时候就会弹出一个对话框,并显示问题是出在了那个单元里.好 ...

  9. Apache OpenOffice 与 LibreOffice 之间的抉择

    Apache OpenOffice 与 LibreOffice 之间的抉择 Apache OpenOffice和LibreOffice都 是OpenOffice.org的现代衍生产品.最近几年,几乎所 ...

  10. AndroidUI 布局动画-布局内容改变动画

    实现一个点击菜单动画添加按钮,点击按钮移除当前按钮的动画效果: <LinearLayout xmlns:android="http://schemas.android.com/apk/ ...