实现:
实现产生n个随机数,把n个随机数存入一个数组,对数组做去重,再排序,再使用table.left取出m个有序的数存入另一个数组并打印。附件是结果
import console;
console.setTitle("IP_DHCP_list");
//产生num个随机数
var num = console.getNumber( "请输入整体ip地址个数(小于等于255个):" )
if(num > 255){
console.log("超出范围")
}
list_ip={};
list_temp={};
//把num个随机数压入list_ip组中
for(i=1;num;1){
table.push(list_ip,math.random(1, num))
}
console.log("================================================")
//判断,如果在list_temp中找不到list_ip的值,就把这个值存入list_temp中
for (k,v in list_ip) {
if not (table.find(list_temp,v)){
table.push(list_temp,v)
}
}
//对list_temp数组做排序
table.sort(list_temp)
//输出去重后的可用地址
for(k,v in list_temp ){
console.log(k,"192.168.1."++v)
}
var sern = console.getNumber( "请输入新加入的服务器数目:" );
var list_dhcp = {};
//判断需求的地址数目是否满足,如果满足,则从list_temp中从前向后取出
if( sern > table.count(list_temp)){
console.log("可用地址不足!")
}
else {
table.push(list_dhcp,table.left(list_temp,sern))
for(k,v in list_dhcp){
console.log(k++"的当前分配的地址为:")
console.log("192.168.1."++v)
}
}
console.pause();本文出自 “一夜一关” 博客,谢绝转载!
原文:http://ifedora.blog.51cto.com/740769/1783569