因式分解易语言源码 function Factorise(a,b,c){ \ 函数Factorise,参数a,b,c
a=Number(a); \ 将变量a转换为数字类型
b=Number(b); \ 将变量b转换为数字类型
c=Number(c); \ 将变量c转换为数字类型
if (isNaN(a)||isNaN(b)||isNaN(c)){ \ 检测a、b、c三个变量是不是数字
return [false] \ 如果其中一个不是,返回假
}
var factor_a=findFactor(a); \ 求a所有的因数并赋值给变量factor_a
var factor_c=findFactor(c); \ 求a所有的因数并赋值给变量factor_a
if ((b**2-a*c)===0){ \ 如果b*2-a*c=0的话
return [false] \ 返回假
}
var numbers_a; \ 定义变量numbers_a
var numbers_c; \ 定义变量numbers_c
for (numbers_a of factor_a){ \ 循环,逐次将factor_a的值赋给numbers_a
for (numbers_c of factor_c){ \ 循环,逐次将factor_c的值赋给numbers_c
if ((numbers_a[0]*numbers_c[0]+numbers_a[1]*numbers_c[1])===b){ \ 如果左边=右边
return [true,[[numbers_a[0],numbers_c[1]],[numbers_a[1],numbers_c[0]]]] \ 返回真,和对应数组的内容
}
if ((numbers_a[1]*numbers_c[0]+numbers_a[0]*numbers_c[1])===b){ \ 如果左边=右边
return [true,[[numbers_a[1],numbers_c[1]],[numbers_a[0],numbers_c[0]]]] \ 返回真,和对应数组的内容
}
}
}
return [false] \ 返回假
}
function findFactor(num){ \ 函数,取num的所有因数
var factors=[]; \ 定义变量factors(列表)
var i; \ 定义变量i
for(i=Math.abs(num);i>=-Math.abs(num);i–){ \ Math.abs,取num的绝对值,i需要大于等于num绝对值,
if ((num%i)===0){ \ 如果num除i的余数是0
var theOther=num/i; \ 定义变量theOther并赋值num除i的余数
factors.push([i,theOther]); \ 在factors中加入i和theOther的值
}
}
return factors \ 返回factors
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系贝贝进行处理。本站默认解压密码:www.hibbba.com



评论(0)