1代表黑格子,0代表白格子。要求算法能够实现:每次能够输出一个7行乘以7列的由0或1组成的矩阵,输出50次,这50个矩阵,(每个矩阵由7乘以7=49个元素组成)每个矩阵之间不能有50%以上的数据重复。换句话说,每个矩阵都必须和其它49个矩阵有50%以上的不相同元素值(即不相同元素的个数必须大于等于25个)。举个例子
1111111 1111111
1111111 1111111
1111111 1111111
1111111 和1111111 像这样的两个矩阵,元素值相同的位置是42个,肯定不符合要求。
1111111 1111111
1111111 1111111
0000000 1111111又如
1111111 0000000
0111111 0000000
0011111 0000000 就符合要求,元素值相同的位置是21个,不相同的位置是28个。但是这只是另外49个中的一个,是否能
0001111 0000000 保证和那另外48个矩阵的值不相同的位置也大于等于25个?
0000111 0000000
0000011 0000000
0000001 0000000本人非常急,希望哪位高手,能帮我解答一下这个问题。
1111111 1111111
1111111 1111111
1111111 1111111
1111111 和1111111 像这样的两个矩阵,元素值相同的位置是42个,肯定不符合要求。
1111111 1111111
1111111 1111111
0000000 1111111又如
1111111 0000000
0111111 0000000
0011111 0000000 就符合要求,元素值相同的位置是21个,不相同的位置是28个。但是这只是另外49个中的一个,是否能
0001111 0000000 保证和那另外48个矩阵的值不相同的位置也大于等于25个?
0000111 0000000
0000011 0000000
0000001 0000000本人非常急,希望哪位高手,能帮我解答一下这个问题。
解决方案 »
- 求用Java写一道选择题的程序,包括单选和多选.谢谢!
- java运行程序结果
- 使用java代码生成csv文件问题
- 用comm类读串口,同一次发送的数据分段了?
- 如何将"123,125-127"分解成"123,125,126,127"?
- 为什么JBuilder编的程序在JBuilder里能运行,用Javac命令却不用运行?
- 怎么通过STRUTS,打开页面时就判断SESSION中的内容有没有??
- 一个令人头疼的问题 ,怎么都解决不了.知道有问题就是不知道怎么解决
- 怎样在jsp页面得到系统的日期的年和月?谢谢。。。
- wbj04新来报到,各位大侠多多关照!!
- 关于java 写文件的一个问题
- 门禁系统应用程序(Java版)
public int count(String str,String arrLo){
int init=0;
String[] arr1 = str.split("(?<=\\G.)");
String[] arr2=arrLo.split("(?<=\\G.)");
for(int i=0;i<arr1.length;i++){
if(arr1[i]!=arr2[i]){
init++;
}
}
return init;
}
public static void main(String[] args){
RamTest rt=new RamTest();
Random ran=new Random();
String[] arr=new String[50];
lab: for(int i=0;i<50;i++){
Long l=ran.nextLong();
String s=Long.toBinaryString(l);
if(s.length()<49){
i--;
continue lab;
}
String str=s.substring(s.length()-49);
for(int j=0;j<i;j++){
String arrLo=arr[j];
if(rt.count(str,arrLo)<25){
i--;
continue lab;
}
}
arr[i]=str;
System.out.println(str+" "+str.length());
}
}
}
测试结果
0111100101001111000100111101111110011100111000000 49
1110101111111111001111000010010110101010000111011 49
1011001100011110000010101101000110010001101010010 49
1011101000010101100101001000010001001100101001100 49
1000001101010100110000001000110101100011100100111 49
1000000001110110010011101100101110000010011101010 49
1010110000010100000100111100000011001011010001010 49
1110010100101011100110111111111100110010110010110 49
0110100010011100011000010100100011100100000001010 49
1000001011011111101011000111100100100011011110010 49
1001101010111010100110111101100010111101111000101 49
1010110101011010000110011011000000111100110100111 49
0010010011001110100110100001101110101111111101001 49
1100001110010111000010100100001011011010110001000 49
1001101001110111110101001101101101001100101110111 49
0100100110000011101101111101001111011100111110111 49
0001000111011110001011000000110011111010101001010 49
1010001101010100111000100101001101001000010000111 49
0111111110011011101011001010100101010010101011000 49
1110110010000100010000111100011001101010111100010 49
1010011101000111101100011110111110000111000110110 49
0000010001101001110001111011000010010110011101101 49
0100101010011110111101010101100100110100011100001 49
1000101001110011010110001111110010100000000101001 49
1110000101010001100011010010011100011110010111010 49
0010010000000001100100011101100001111010101011100 49
1100001101100110111110000011010101111010111010010 49
0000010111011111111101010111011101011011101101111 49
0101000001001101011001101100111010001101101101000 49
0101101101100001001010010100001111111101010011010 49
0011110010000000100101011001110001110101010101111 49
1100010100010101101000001101001110101111010111101 49
1100111111010101011011011100011100101100111010011 49
1100100100100111111011110000010000001010000010001 49
0111111001100011111110011101100111100011100111110 49
1010111101010110111100100011100000110010111111111 49
1110011000001111101000100101101011101100100010110 49
1110001010001110111011101100011111001000001001111 49
1101101010110010011110010011001110101000100001010 49
1001001000100100001010001000000010100001010000101 49
1100101011101001000011000011100111101100001001110 49
1110110010101010010000111011110110111010110000111 49
0110011101111000010100111000001010000011111100011 49
1110111001110100001100110010100010111011110000011 49
0001011101011011101001111011110010011000100011011 49
0101110110100110110101011110000010101001000001111 49
0110001001101011011100011100111111010101001011100 49
0010110111111001011110011001011101110111010010001 49
0001110010101010001010110111001101010010000100100 49
0010011000001011010101100110000101001110011100000 49
LZ只需要把这个的长度为49的字符串转化成7*7的矩阵就可以了,希望对LZ有帮助
shui neng bang zhu wo jie jue yi xia wen ti.
import java.util.Random;/**
* @author Thanatos
*
*/
public class matrix { public static void main(String[] args)
{
Random rd=new Random();
int change = 25+rd.nextInt(24);
ArrayList <Integer>num=new ArrayList<Integer>();
for(int i=0;i<change;i++)
{
num.add(new Integer(rd.nextInt(49)));
}
for(int i=0;i<49;i++)
{
if(i%7==0&&i!=0)
{
System.out.println();
}
if(num.contains(new Integer(i)))
{
System.out.print(1+" ");
}
else
{
System.out.print(0+" ");
}
}
}}