计算 num 的 n 次幂n 的阶乘斐波那契数列字符串的字节长度去除字符串中的重复字符

Posted hjysunshine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算 num 的 n 次幂n 的阶乘斐波那契数列字符串的字节长度去除字符串中的重复字符相关的知识,希望对你有一定的参考价值。

  1 //计算 num 的 n 次幂
  2 function numPow(num, n) {
  3     if (n == 1) {
  4         return num;
  5     }
  6     return num * numPow(num, n - 1);
  7 }
  8 
  9 //计算 n 的阶乘
 10 function nFactorial(n) {
 11     if (n == 1) {
 12         return 1;
 13     }
 14     return n * nFactorial(n - 1);
 15 }
 16 
 17 //斐波那契数列,输出第n项
 18 function nFibonacci(n) {
 19     if (n == 1 || n == 2) {
 20         return 1;
 21     } else if (n > 2) {
 22         var prevOne = 1,
 23             prevTwo = 1,
 24             temp = n,
 25             res = 0;
 26         while (temp - 2) {
 27             res = prevOne + prevTwo;
 28             prevOne = prevTwo;
 29             prevTwo = res;
 30             temp--;
 31         }
 32         return res;
 33     }
 34 }
 35 
 36 //斐波那契数列,输出 n 项
 37 function listFibonacci(n) {
 38     var fib = ‘‘;
 39     if (n == 1) {
 40         return 1;
 41     } else if (n == 2) {
 42         fib = ‘1,1‘
 43         return fib;
 44     } else if (n > 2) {
 45         var prevOne = 1,
 46             prevTwo = 1,
 47             temp = n,
 48             res = 0,
 49             fib = ‘1,1‘;
 50         while (temp - 2) {
 51             res = prevOne + prevTwo;
 52             fib += ‘,‘ + res;
 53             prevOne = prevTwo;
 54             prevTwo = res;
 55             temp--;
 56         }
 57         return fib;
 58     }
 59 }
 60 //斐波那契数列,输出 n 项的和
 61 function sumFibonacci(n) {
 62     if (n == 1) {
 63         return 1;
 64     } else if (n == 2) {
 65         return 2;
 66     } else if (n > 2) {
 67         var prevOne = 1,
 68             prevTwo = 1,
 69             res = 0,
 70             sum = 2;
 71         while (n - 2) {
 72             res = prevOne + prevTwo;
 73             sum += res;
 74             prevOne = prevTwo;
 75             prevTwo = res;
 76             n--;
 77         }
 78         return sum;
 79     }
 80 }
 81 
 82 //求字符串的字节长度,其中英文和数字是一个字节,中文为两个字节
 83 function strByteLen(str) {
 84     var strCodeLen = 0,
 85         strLen = str.length;
 86     for (var i = 0; i < strLen; i++) {
 87         if (str.charCodeAt(i) <= 255) {
 88             strCodeLen++;
 89         } else {
 90             strCodeLen += 2;
 91         }
 92     }
 93     return strCodeLen;
 94 }
 95 
 96 
 97 //去除字符串中的重复字符
 98 function removeRepetition(str) {
 99     var result = [],
100         strLen = str.length,
101         tmp = 0;
102     result.push(str[0]);
103     for (var i = 1; i < strLen; i++) {
104         for (var j = 0; j < result.length; j++) {
105             if (str[i] == result[j]) {
106                 break;
107             } else {
108                 tmp++;
109             }
110         }
111         if (tmp == result.length) {
112             result.push(str[i]);
113         }
114         tmp = 0;
115     }
116     return result.join(‘‘);
117 }

 

以上是关于计算 num 的 n 次幂n 的阶乘斐波那契数列字符串的字节长度去除字符串中的重复字符的主要内容,如果未能解决你的问题,请参考以下文章

递归:阶乘斐波那契数列

阶乘斐波那契数列打印三角形(*)递归,冒泡排序

斐波那契数列

▶斐波那契数列√◀

Python递归及斐波那契数列

斐波那契数列以及斐波那契数列的衍生形式 利用矩阵快速幂求解