我有一个任意值(在示例mx
中,例如可以是4)和一个整数(x
),其值可以是从4到整数限制的任何值。我的目标是找到x
的最大因子小于mx
。如果x
是素数,我可以接受更大的下一个值。到目前为止,我的尝试一直是
function smFacBelowX(_x,mx){
var x = _x;
if((x%mx)==0) return mx;
while(mx<x){
if((x%2)>0) x--;
x = x/2;
console.log(_x,x,mx);
}
return x;
}
我会以任何语言回复,但更喜欢JavaScript。
答案 0 :(得分:0)
虽然你没有说出错误,但我认为JavaScript中缺少整数算术。你可以尝试这个开头:
function X(_x,mx){
var x = _x;
if((x%mx)==0) return mx;
while(mx<x){
if((x%2)>0) x--;
x = Math.floor(x/2);
console.log(_x,x,mx);
}
return x;
}