You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取数字平方根的化简根式形式而非小数结果?

实现根式化简的思路与代码示例

核心逻辑是对输入的正整数做质因数分解,把指数≥2的质因子提取到根号外,剩余无法提取的部分保留在根号内即可。

核心实现步骤

  • 特殊值预处理:输入为0直接返回0,输入为负数抛出异常
  • 初始化两个变量:outside 存储根号外的系数,初始值为1;inside 存储根号内剩余的数,初始值为输入值
  • 从2开始遍历到√inside:
    • 每次判断当前数i的平方是否能整除inside
    • 可整除时,outside 乘以i,inside 除以i的平方,重复判断直到i²无法整除inside为止
  • 遍历完成后做结果格式化:inside为1时直接返回outside,outside为1时省略前缀只返回√inside,其余情况拼接为 outside√inside 的格式

JavaScript 代码示例

function simplifySqrt(n) {
  if (n < 0) throw new Error("输入不能为负数");
  if (n === 0) return "0";
  let outside = 1;
  let inside = n;
  // 遍历到根号inside即可,减少计算量
  for (let i = 2; i * i <= inside; i++) {
    while (inside % (i * i) === 0) {
      outside *= i;
      inside /= i * i;
    }
  }
  // 适配常规书写习惯格式化结果
  if (inside === 1) return outside.toString();
  if (outside === 1) return `√${inside}`;
  return `${outside}√${inside}`;
}

// 测试用例
console.log(simplifySqrt(343)); // 输出 7√7
console.log(simplifySqrt(16)); // 输出 4
console.log(simplifySqrt(12)); // 输出 2√3
console.log(simplifySqrt(7)); // 输出 √7

内容的提问来源于stack exchange,提问作者Paritosh Tripathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:27:03