我在javascript中编码quine mcclusky algoritm。我将输入作为十进制值,例如0,2,6,7。我的代码中可以有1到5的变量,1是a或'和5是a,b,c,d,e。 在我的代码中,我将输入转换为二进制值。例如对于0,2,6,7,我有一个二进制等效数组[“000”,“010”,“110”,“111”]。我做了另一个计算1的逻辑。我取每个二进制数组并计算1的数,并按以下方式将它们保存在一个对象中:
{0:"000",1:"010",2:"110",3:"111"}
这可能不是很困难,但如果我输入 0,2,4,3,5 并且我运行一个循环,那么:
function onesgrp(str)
{
var tmp= str.split(""); //splits the string for example "010" into [0 1 0]
for(i=0;i<len.str;i++)
{
if(tmp[i]==1)
index++;
else
continue;
}
}
this function will tell how many ones each string have and index value will represent the no. of ones.
现在我想将此字符串插入对象中的“index”位置。如果index = 2,我想将数组插入索引2,依此类推。然后,如果我有另一个'index'= 2的字符串我想在obj位置2添加它,这样我就不会覆盖前一个字符串。最后我有一个obj,每个索引都有一个'index'为1的字符串。但问题是我有不同的长度变量。
任何人都可以告诉我一种方法来做到这一点,我发现了quine mcclusky算法的一些javascript版本,但我觉得它们太难理解发生了什么,因为我是一个初学者,并且对高级javascript不太满意..有没有人知道使用quine mccluskey进行逻辑最小化的简单代码。我真的很有责任。
我的问题的另一种描述:
我在javascript中编码quine mcclusky算法。我正在尝试 编写一个代码,使得我有一个二进制字符串数组 数组的元素,我计算string.i中的1的数量 变长字符串最大为5,但是对于每个输入都是 数组中的字符串将具有相同的长度,并且对于我想要的每个输入 在一个对象中按“1的数量”对字符串进行分组。例如,我有 二进制sring 0001,其中有一个'1'。这个字符串将被保存 在对象的索引1处。第二,然后我有另一个字符串0010 也应该添加到索引1,但它不会覆盖 以前的字符串保存,然后我有例如1010它会去 对象中的索引2。在我将所有数组的字符串赋值给object之后 对象的每个索引显示字符串中的“1”数 那个关键的位置。那么,我想将obj [0]元素与其他元素进行比较 关键位置,如果元素仅在一个位置上不同,例如 0000和0001相差一位,我想节省000英寸 另一个obj,按照上面的方法,直到我找到所有的素数 蕴涵。