小编Lat*_*han的帖子

Horner的小数部分递归算法 - Java

我正在尝试创建一个递归方法,使用Horner的算法将基数n中的小数转换为基数10.我已经在这里搜索过,但是找不到任何处理小数部分的细节.作为一个抬头,我在递归方面相当薄弱,因为我还没有在我的编程课程中正式学习它,但是已经被另一个类分配了它.

我能够创建一个处理数字的整数部分的方法,而不是小数部分.

我觉得我写的方法相当接近,因为它让我的测试数字的答案加倍(也许是因为我测试的是基础2).

传递的第一个参数是一个填充系数的int数组.我不太关心系数的顺序,因为我正在使所有的系数都相同来测试它.

第二个参数是基础.第三个参数初始化为系数减1,我也用于整数部分方法.我尝试使用系数的数量,但是从数组开始.

我尝试将基数再划分一次,因为这会给我正确的答案,但如果我在基本案例返回语句或最终返回语句的末尾这样做,它就不起作用.

因此,当我尝试将0.1111 base 2 转换为base 10时,我的方法返回1.875(正确答案为0.9375的两倍).

任何提示将不胜感激!

//TL;DR
coef[0] = 1; coef[1] = 1; coef[2] = 1; coef[3] = 1;
base = 2; it = 3;
//results in 1.875 instead of the correct 0.9375



public static double fracHorner(int[] coef, int base, int it) {
    if (it == 0) {
        return coef[it];
    }
    return ((float)1/base * fracHorner(coef, base, it-1)) + coef[it];
}
Run Code Online (Sandbox Code Playgroud)

java algorithm recursion

7
推荐指数
1
解决办法
1464
查看次数

InputElement 宽度返回空字符串

我的页面上有一个 InputElement,我试图访问它的宽度,以便我可以使其他元素具有相同的大小。

我的 InputElement 是顶级的,所以我有:

InputElement nameBox = querySelector("#nameBox");
Run Code Online (Sandbox Code Playgroud)

后来在main(),我有:

var width = querySelector("#nameBox").style.width;
Run Code Online (Sandbox Code Playgroud)

在此行之后,width总是""而不是预期的"149px"。但是,分配给它stlye.width会更新宽度......

知道这是为什么吗?我知道 Dartmain()在加载 DOM 之前不会运行,所以不确定为什么这不起作用。顺便说一句,宽度默认为 149px——我没有改变它。

html css dart

3
推荐指数
1
解决办法
382
查看次数

标签 统计

algorithm ×1

css ×1

dart ×1

html ×1

java ×1

recursion ×1