1

我正在用 javascript 编写 quine mcclusky 算法。我将输入作为十进制值,例如 0、2、6、7。我的代码中可以包含 1 到 5 的变量。1 是 a 或“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 1's each string has and index value will represent the no. of 1's.

我想将此字符串插入对象中的“索引”位置。如果index=2,我想将数组插入索引 2,依此类推。然后,如果我有另一个字符串index=2,我想将它添加到 obj 位置 2,这样我就不会覆盖前一个字符串。最后,我有一个 obj,每个索引都包含 'index' 数字为 1 的字符串。但问题是我有不同的长度变量。

谁能告诉我这样做的方法?我发现了一些 quine mcclusky 算法的 javascript 版本,但我发现它们太难理解了。由于我是初学者,并且对高级 javascript 不太熟悉。有谁知道使用 quine mccluskey 进行逻辑最小化的更简单代码?我真的很感激。

我的问题的另一种描述:

我正在用 javascript 编写 quine mcclusky 算法。A 正在尝试编写代码,以便我为数组的每个元素都有一个二进制字符串数组。我计算字符串中 1 的数量。我最多可以有 5 个可变长度字符串,但是对于每个输入,数组中的所有字符串都将具有相同的长度。对于每个输入,我想按对象中的“1 的数量”对字符串进行分组。例如,我有一个二进制字符串0001,其中有一个“1”。此字符串将保存在对象的索引 1 处。其次,我有另一个字符串0010,它也应该添加到索引 1,但它不应该覆盖之前保存的字符串。我有例如1010它将转到对象中的索引 2。在我将数组的所有字符串分配给对象后,对象的每个索引都会显示该键位置的字符串中“1”的数量。我想将obj[0]元素与其他关键位置进行比较,如果元素仅在一个位置上有所不同,例如 0000并且0001相差一个位位置,我想保存0000在另一个 obj 中。遵循上述方法,直到找到所有主要蕴涵。

4

0 回答 0