我正在尝试解决代码问题上的一个问题。问题如下:
在数学中,斐波那契数字在以下整数序列中,称为斐波纳契数列,其特征在于其中的每个数字都是前两个数字的总和:
1,1,2,3,5,8,13,21,34,55,89,144,...... 实现函数getFibonacci(n),它将在Fibonacci序列的n位上返回数字的字符串表示。
我已经制定了我的代码,但是我的代码只能在测试数字很小时才通过测试,并且在涉及大数字时失败所有测试并得到错误消息,例如"预期:' 30010821454963453907530667147829489881&# 39;而得到:' 3.001082145496346e + 37'"。 另外,我试图在return语句的末尾添加toNotExponential()或expandExponential()以帮助显示完整的数字,但是,任何一个代码都可以正常工作,因为我不断收到错误说" toNotExponential()不是一个功能"或" expandExponential()不是函数"。 不知道该怎么办,请帮忙。 我的代码如下......
function getFibonacci(n) {
var arr= [1,1];
var len = arr.length;
while(len<n){
arr.push(arr[len-1]+arr[len-2]);
len++;
}
return (arr[len-1]+"").toNotExponential();
}
答案 0 :(得分:0)
您可以使用给定数字的部分之和作为字符串来执行数学过程。考虑将数字.length
作为字符串的3
大于1
的数字中的每个三位数都可以视为数千,其中会999
添加1000
在N
。然后,我们可以声明如果1000
等于2000
,则将N
添加到1000
会产生3
。因此,我们可以使用字符串的索引来确定我们在字符串中迭代的精确数千,并选择3
组以确定相邻 if(cursor.getCount()>0)
{
cursor.moveToFirst();
do {
String s = cursor.getString(11).toLowerCase();
if (s.contains("debited")) {
count++;
System.out.println("===body:" + cursor.getString(11));
System.out.println("===count:" + count);
}
while (cursor.moveToNext()) ;
}
组中的一个或多个数字是否应该是重新计算,并显示为没有E-notation的数字。请参阅How do I add 1 to a big integer represented as a string in JavaScript?。