# homework-fontend-02-02 **Repository Path**: sfljskeprim_admin/homework-fontend-02-02 ## Basic Information - **Project Name**: homework-fontend-02-02 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-29 - **Last Updated**: 2021-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 使用函数方法书写一段程序,判断一个数是不是完美数。 如果一个数恰好等于它的因数之和,则称该数为“完美数”。 例如:第1个完全数是6,它有因数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。 code/work01.html ```html Title ``` 2. 盈数是一种特殊的自然数,除去它本身以外的一切正约数的和大于它本身。与完美数类似。 使用函数方法编写一段程序。 输出1~100的所有盈数。 code/work02.html ```html Title ``` 3. 用户输入一个整数n: 求1! + 2! + 3! + 4! + …… + n!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4 code/work03.html ```html Title ``` 4. 求一个三位数,叫做“喇叭花数”,该三位数等与其每位数字的阶乘之和。输出100~999的所有喇叭花数。 code/work04.html ```html Title ``` 5. 如果整数A 的全部约数(包括1,不包括A 本身)之和等于B,且整数B 的全部约数 (包括1,不包括B 本身)之和等于A,则称整数A和B是一对亲密数。 求2000 以内的全部亲密数。 code/work05.html ```html Title ``` 6. 验证哥德巴赫猜想。一个偶数可以拆分成两个质数之和。 code/work06.html ```html Title ``` 7. 编写函数rev(char) 实现将字符串char倒置 比如rev("spring") 返回"gnirps" code/work07.html ```html Title ``` 8. 将字符串"i come from beijing"倒置,即控制台输出"beijing from come i" 语句直接写在程序中,不需要用户输入 code/work08.html ```html Title ``` 9. 编写函数rightchange(char,n) 实现字符串char循环右移n位。 比如rightchange("abcdefg",2) 返回"fgabcde" code/work09.html ```html Title ``` 10. 编写函数maxr(char) 返回字符串char中最长的连续重复字母 比如maxr("mmmiijjjjkkkkkkssptr") 返回"kkkkkk" code/work10.html ```html Title ``` 11. 有10个学生的成绩存在数组中,请统计大于等于平均成绩的人数。 成绩直接以数组形式写在程序中,不需要用户输入。 ```html Title ``` 12. 将"i love javascript very much"的每个单词的第一个字母,变为大写。 ```html Title ``` 13. 求一组数中的最大值和最小值,以及所在位置的下标。 ```html Title ``` 14. 将数组用 | 或其他符号连接成一个字符串。 ```javascript let nums = [0,1,2,3,0,4,5,6,0,7,8]; let str = nums.join("|"); console.log(str); ``` 15. 将数组中值为 0 的项去掉,将不为 0 的值存入一个新的数组,生成新的数组。 ```html Title ``` 16. 数组去重; \```js [1,1,1,2,2,3,4,5,6,3,4,2,4,1,] ---> [1,2,3,4,5,6] \``` ```html var arr = [1,1,1,4,4,2,1,3,3]; var result = []; for(var i = 0;i < arr.length ; i++){ var v = arr[i]; if (!result.includes(v)) { result.push(v); } } console.log(result);//1,4,2,3 ``` 17. 数组排序; \```js [3,4,1,2,6,5] ---> [1,2,3,4,5,6] \``` code/work17.html ```html Title ``` 18. 数组转对象; \```js ['a','a','a','b','b','c','c','c','c','d','d','d','d'] ---> { ​ a: 3, ​ b: 2, ​ c: 4, ​ d: 4 } \``` code/work18.html ```html Title ``` 19. 使用js将99乘法表输出在控制台 ```html Title ``` 20. 买卖股票的最佳时机;给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次)设计一个算法来计算你所能获取的最大利润。 注意:你不能再买入股票前卖出股票 示例: \``` 输入:[7, 1, 5, 3, 6, 4] 输出:5 解释:在第2天(当天股票价格等于1)的时候买入,在第五天(当天股票价格等于6)的时候卖出,最大利润为 6 - 1 = 5。 注意:利润不能使7 - 1 = 6,因为第二天的价格为1,第一天的价格为7,你是不可能在第二天买入股票然后等到第一天卖出的 \``` ```html Title ```