知识大全 JAVA代码概述
Posted 情人
篇首语:书籍是横渡时间大海的航船。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JAVA代码概述相关的知识,希望对你有一定的参考价值。
情人碰面的问题:JAVA代码概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
/* * 8情人问题 * * 问题描述 * 在一个8×8的棋盘里放置8个情人 要求每个情人两两之间不相冲突 *(在每一横列 竖列 斜列只有一个情人) * * 数据表示 * 用一个 位的 进制数表示棋盘上情人的位置 * 比如 表示 * 第 列情人在第 个位置 * 第 列情人在第 个位置 * 第 列情人在第 个位置 * * 第 列情人在第 个位置 * * 循环变量从 加到 ( 进制数)的过程 就遍历了情人所有的情况 * 程序中用八进制数用一个一维数组 data[] 表示 * * 检测冲突 * 横列冲突 data[i] == data[j] * 斜列冲突 (data[i]+i) == (data[j]+j) 或者 (data[i] i) == (data[j] j) * * 好处 * 采用循环 而不是递规 系统资源占有少 * 可计算 n 情人问题 * 把问题线性化处理 可以把问题分块 在分布式环境下用多台计算机一起算 * * ToDo * 枚举部分还可以进行优化 多加些判断条件速度可以更快 * 输出部分可以修改成棋盘形式的输出 * * @author cinc * */ public class Queen int size; int resultCount; public void pute ( int size ) this size = size; resultCount = ; int data[] = new int[size]; int count; // 所有可能的情况个数 int i j; // 计算所有可能的情况的个数 count = ; for ( i= ; i<size ; i++ ) count = count * size; // 对每一个可能的情况 for ( i= ; i<count ; i++ ) // 计算这种情况下的棋盘上情人的摆放位置 用 进制数表示 // 此处可优化 int temp = i; for ( j= ; j<size ; j++ ) data [j] = temp % size; temp = temp / size; // 测试这种情况是否可行 如果可以 输出 if ( test(data) ) output( data ); /* * 测试这种情况情人的排列是否可行 * */ public boolean test( int[] data ) int i j; for ( i= ; i<size ; i++ ) for ( j=i+ ; j<size ; j++ ) // 测试是否在同一排 if ( data[i] == data[j]) return false; // 测试是否在一斜线 if ( (data[i]+i) == (data[j]+j) ) return false; // 测试是否在一反斜线 if ( (data[i] i) == (data[j] j) ) return false; return true; /* * 输出某种情况下情人的坐标 * */ public void output ( int[] data ) int i; System out print ( ++resultCount + : ); for ( i= ; i<size ; i++ ) System out print ( ( + i + + data[i] + ); System out println (); //main()就是在这里 public static void main(String args[]) (new Queen()pute( ); cha138/Article/program/Java/JSP/201311/19303相关参考
用Java测试网络代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网络代码被证明是很难进行完
Java中调用本地代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java中调用dll中本地
Java代码运行器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! importjavaawtBo
JavaTransactionAPI概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 引言
Java转换大写金额的代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 此代码根据网上搜集到的
Java程序性能优化-代码调优 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 代码调
您的JAVA代码安全吗? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 虽然客户仍然很关心您为他
MATLAB的最新版本b中新添了一个产品-MATLABBuilderforJava其实本来Matlab就有Java外部程序接口不过原来的接口只能在m文件中调用Java而无法在Java程序中调用Ma
获取当前时间和某个时间进行比较此时主要拿long型的时间值 方法如下 要使用javautilDate获取当前时间的代码如下代码如下 Datedate=newDate(); da
java读取文本文件的方法有很多这个例子主要介绍最简单最常用的BufferedReader类 完整例子如下 packagenetchinaunixbloghzmtext; impor