node.js - 更改添加顺序会更改结果
问题描述
更改程序第 11 行中的加法顺序会给出不同的答案。
function gcf(a,b){
if(a%b === 0)
return b;
else
return gcf(b,a%b);
}
let x = {num: 3, den: 2};
let n = 1000;
let ans = 0;
for(i=0;i<n-1;i++){
let num = x.den + x.num + x.den ;
let den = x.num + x.den;
let g = gcf(num, den);
num /= g;
den /= g;
x = {
num: num,
den: den
}
// console.log(i+2,x,x.num.toString().length > x.den.toString().length, x.num/x.den, g);
if(x.num.toString().length > x.den.toString().length){
ans+=1
}
}
console.log(ans);
function gcf(a,b){
if(a%b === 0)
return b;
else
return gcf(b,a%b);
}
let x = {num: 3, den: 2};
let n = 1000;
let ans = 0;
for(i=0;i<n-1;i++){
let num = x.den + x.den + x.num;
let den = x.num + x.den;
let g = gcf(num, den);
num /= g;
den /= g;
x = {
num: num,
den: den
}
// console.log(i+2,x,x.num.toString().length > x.den.toString().length, x.num/x.den, g);
if(x.num.toString().length > x.den.toString().length){
ans+=1
}
}
console.log(ans);
这给出了 189
let num = x.den + x.num + x.den;
这给出了 158
let num = x.den + x.den + x.num;
怎么了?
** 求解有多少根 2 的小数逼近的分母位数小于分子位数。
解决方案
推荐阅读
- c# - 下载后解压 zip 文件时,出现异常,提示该文件正在被另一个进程使用
- php - 在 PHP 中找不到类 ParseClient
- javascript - 如何在另一个对象数组中初始化一个对象数组?
- python - 通过视图提交表单时获取“NOT NULL 约束”。通过 /admin 添加时工作正常
- c# - 为什么这个功能和一个完全相同的格式不起作用是有原因的吗?
- google-sheets - 在 Google 表格中错开重复日期?
- oracle - 我刚刚在 plsql 中创建了这个触发器
- cordova - 离子科尔多瓦资源--splash和--icon错误
- c# - 我应该使用哪个 MySql InnoDB 事务隔离级别?
- python-3.x - Python3 多态性:John Guttag 的《使用 Python 2ed 计算和编程简介》第 14 章中是否有其他人得到 NameError?