随机生成指定范围内的随机数,放在指定长度的数组内

 

在群里遇到有人提出一道题:1、创建一个长度为5的空数组arr。

             2、生成一个[2,32]之间的随机整数rand。

             3、把随机整数插入到arr内,如果arr内已存在与rand相同的数,则重新生成随机整数并插入(需要使用递归实现,不能使用for/while等循环)。

             4、最后输出一个长度为5,且内容不重复的数组arr。

 

首先:生成指定范围的随机整数的公式:

Math.floor(Math.random()*(max-min+1)+min);

 

之后看完整的方法:

复制代码
        var arr = new Array(5);
        function generateRand(index,arr){
            if(index>=5){
                return;
            }
            let rand=Math.floor(Math.random()*(32-2+1)+2);
            if(!arr.includes(rand)){
                arr[index]=rand;
                index++;
                generateRand(index,arr);
            }else{
                generateRand(index,arr);
            }
            
        }
        generateRand(0,arr);
        console.log(arr);
复制代码

 

posted @   古墩古墩  Views(1150)  Comments(0Edit  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示