一个关于算法问题,面试常常出现。。。

问题描述

给1-99个数,摆放成3*3的矩阵,要求每横排,每竖排,对角线上3个数字相加均为15有谁会?

解决方案

解决方案二:
四二为肩六八为足左三右七载九履一
解决方案三:
我需要算法,谢谢
解决方案四:
说说我自己的想法:1.找出所有三数相加等于15的组合2.让重复3次的数为3*3矩阵的4个角3.让重复2次的数为3*3矩阵的中间的那个点4.让只出现一次的数为3*3矩阵形成的正方形各边的中点
解决方案五:
1.找出所有三数相加等于15的组合==================排除重复的数字比如456654只算一个组合我没算过.心里猜测这样的组合应该有6个
解决方案六:
这个想法是好的,实现比较困难
解决方案七:
heatol()
解决方案八:
要么就P99(不会打上下..字)的排列组合循环喽.
解决方案:
九宫问题5为中因为6+9=15也就是6-9都不可以放在中1,2,8,9之类的不能共线1+2+9<15
解决方案:
有没有详细点算法,最好有代码
解决方案:
奇数幻方有数学推导.google之
解决方案:
privateconstintN=3;//5,7...//奇数privatevoidbutton1_Click(objectsender,EventArgse){int[,]square=newint[N,N];inti=-1;intj=(N+1)/2-1;for(intkey=1;key<=N*N;key++){if((key%N)==1)i++;else{i--;j++;}if(i<0)i=N-1;if(j>=N)j=0;square[i,j]=key;}for(i=0;i<N;i++){for(j=0;j<N;j++)Console.Write("{0}",square[i,j]);Console.WriteLine();}}
解决方案:
呵,用最笨的办法,先写出1-9所有的排列。然后再计算出所有符合要求的排列。。。一共是618753294,816357492,672159834,834159672276951438,438951276,294753618,492357816
解决方案:
Main(string[]args){constintN=5;int[,]data=newint[N,N];inti=0;intj=N/2;for(intk=0;k<N*N;k++){if(data[i,j]>=k||data[i,j]==0){data[i,j]=k+1;}else{i=Mod(i+2,N);j=Mod(j-1,N);data[i,j]=k+1;}i=Mod(i-1,N);j=Mod(j+1,N);}for(i=0;i<N;i++){for(j=0;j<N;j++)Console.Write("{0}",data[i,j]);Console.WriteLine();}}staticintMod(inti,intj){if(i>=0)i=i%j;elsei=(i+j)%j;returni;}算法http://210.77.218.4:8080/RESOURCE/XX/XXSX/SXBL/BL000071/11936_SR.HTM
解决方案:
zswang(伴水清清)(专家门诊清洁工)能不能给讲一下算法?没看出来
解决方案:
四二为肩六八为足左三右七载九履一-----------------==================这不是风水口诀吗。。。。。

时间: 2024-10-04 12:08:26

一个关于算法问题,面试常常出现。。。的相关文章

算法 空间坐标-一个空间坐标算法问题,求请教!

问题描述 一个空间坐标算法问题,求请教! 如图,已知矩形长宽,一个正交的十字在矩形内,假设以矩形左下角为坐标原点,根据十字四边的长度Dl,Dr,Db,Df,确定十字形中心点的坐标(黑点). 解决方案 看下初中的三角函数,就是数学问题了.

c++-这是一个排序算法,但结果总是不争取,求大神指出错在哪?

问题描述 这是一个排序算法,但结果总是不争取,求大神指出错在哪? #include <stdio.h> #include <stdlib.h> #include <windows.h> #define MAX 100 int b; int arr[MAX],tearr[MAX]; void merge(int a[],int t[],int lhead, int rtail) { int lt, k, mid, rt; mid = (lhead+rtail)/2; lt

求一个程序算法,关于找出符合条件的操作符排列?

问题描述 求一个程序算法,关于找出符合条件的操作符排列? 给一个初始操作数a,然后对这个操作数执行n次加减乘余的计算操作[每次操作a自增1,而且不考虑运算符优先级,谁在前面先算谁],最后会得到一个结果数x,问如何求出这些操作符?? 重要:程序不能使用递归,最好只用一个主函数!! 比如,给你一个初始数3,执行7次加减乘余操作,最后得到结果147,那么有一种操作符序列满足条件:* + + - * + + 既:3*4+5+6-7*8+9+10=147 解决方案 亲测合格,请验证: #include #

javascript-Javascript 一个小算法!

问题描述 Javascript 一个小算法! 给定一个Javascript二维数组,如何得到其笛卡尔积. var Test = new Array(); Test[0] = new Array(1, 2, 3); Test[1] = new Array(4, 5, 6); 二维数组长度不固定. 求大神解答! 解决方案 很简单,两层循环就可以了. 解决方案二: 要是多个数组,不止两个,就递归. 解决方案三: var Test = new Array(); var rst=[]; Test[0] =

c#-C#不依赖任何系统库函数,编写一个快速排序算法的程序,要求使用递归,越简单越好

问题描述 C#不依赖任何系统库函数,编写一个快速排序算法的程序,要求使用递归,越简单越好 C#不依赖任何系统库函数,编写一个快速排序算法的程序,要求使用递归,越简单越好 解决方案 先mark下,没有环境,回头给你写 解决方案二: 二分查找的递归算法和非递归算法 解决方案三: 快速排序的递归和非递归实现

c# 算法 真子集-一个关于算法的小问题

问题描述 一个关于算法的小问题 for (int mask = 1; mask < ((1 << nSize) - 1); ++mask) { List<int> l1 = new List<int>(); List<int> l2 = new List<int>(); for (int ix = 0; ix < nSize; ++ix) { if (((1 << ix) & mask) != 0) l1.Add(

数据-一个关于算法选择的问题,急求帮助!

问题描述 一个关于算法选择的问题,急求帮助! 请问一下有什么算法可以用来拉近数据之间距离或者增加两组数据的相似度吗? 比如:有两组数据 A和B A与B本身就比较相似,但是还是可以通过聚类被区分出来,我想要的结果是通过某种算法将A与B变成一类数据. 就是通过某种算法处理后让两组数据的相似度提高,并且提高的趋势最好是用一组数据去逼近于另一组数据. 不知道如果要实现这样的功能最好使用什么算法比较合适呢?现在比较急用,希望大家帮帮忙,谢谢!

求解一个JAVA算法,关于固定地图路径的

问题描述 求解一个JAVA算法,关于固定地图路径的 求解,大神在哪里哇,我在想是不是要用A星算法的,不过A星算法不太适应这个地图,黑色的方框表示障碍物,不能穿过,空心圆表示可通过区域. 解决方案 可以考虑蚁群算法,,,,,,,,,,,,,, 解决方案二: 图片奉上 解决方案三: 在线等啊,急急急急急急急急 解决方案四: 在线等啊,急急急急急急急急 解决方案五: 要怎么用JAVA来实现这个算法,求解 解决方案六: 要怎么用JAVA来实现这个算法,求解

算法 java c++ c-求高手解答,一个小算法

问题描述 求高手解答,一个小算法 以前有人提过这么一个问题,一个01矩阵,求里面最大的由1组成的矩形. 现在我的问题是,一个01矩阵,行和列都可以互换(3行5行对调,4列6列对调等),求里面可以有多少个矩形,最大矩形多大 0100000001 1110000001 0101010101 0010101010 0101000100 上面写的数是个例子,矩阵可以很大 解决方案 行列随意换,就是随意组合啊~~ 假入行列为 x,y : 有n个0,m个1 size = 0: if n>=4 size =

求一个抽奖算法,最好java实现

问题描述 求一个抽奖算法,最好java实现 需求如下: 总共分四等奖, 1等奖名额2个,中奖概率2/10000 2等奖名额10个,中奖概率5/1000 3等奖名额100个,中奖概率10/100 4等奖名额880个,中奖概率25/100 求一个算法,算出用户单次抽奖中奖等级(1,2,3,3等奖或不中奖). 最好java实现. 解决方案 说个最简单的,用java的随机函数.用Random类生成随机数,也可以用Math类中的random生成 区别看这里:http://liukai.iteye.com/