實現:
實現產生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();