Re: [請益] 一堆亂數 如何分群組
※ 引述《ForeverT (全家好神)》之銘言:
: 我有一堆10~20的亂數 例如
: 12 15 16 18 17 19 11 13 14 15
: 我需要將這些數字分成群組 而分成幾群由程式外使用者定義
: 例如分成4個群組的話 (20-10)/4=2.5 一個range
: 群組一就是10~12.5的數 11 12
: 群組二就是12.6~15的數 13 14 15 15
: 群組三就是15.1~17.5的數 16 17
: 群組四就是17.6~20的數 18 19
: 如果分幾個群組是固定的 我寫得出來(目前寫分4個群組)
: 用4個if 或elsif
: 但是如果分幾群 不固定 由程式外使用者定義
: 我就寫不出來了
: 所以來這請教高手
: 希望能分 2個群組 到 10個群組 不定
: 先謝謝解的出的高手了
我覺得你這樣分有點怪
10應該要自己一組...不然就要額外判斷...
#!/usr/bin/perl
$i=10; #產生幾個隨機變數
$btm=10; #底
$top=20; #頂
for($j=0;$j<$i;$j++){
push @stack,$btm+int(rand($top-$btm+1));
}
print "Enter an integer:";
$f=<STDIN>;
chomp($f); #切成幾份
$f1=($top-$btm)/$f; #範圍/幾份=每份多大
print $f1."\n";
foreach(@stack){
print $_." ".int(($_-$btm)/($f1))."\n";
#減去底之後,去除看看他是在第幾份的範圍,int=取floor
}
2.5
13 1
14 1
16 2
14 1
12 0
14 1
15 2 //像這樣,15跟13會是不同組的喔...
13 1
20 4
16 2
12 0
10 0
20 4
16 2
18 3
15 2
10 0
14 1
17 2
10 0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.102.254
推
03/25 13:29, , 1F
03/25 13:29, 1F
→
03/25 13:30, , 2F
03/25 13:30, 2F
→
03/25 13:31, , 3F
03/25 13:31, 3F
→
03/25 13:34, , 4F
03/25 13:34, 4F
推
03/25 13:37, , 5F
03/25 13:37, 5F
→
03/25 13:37, , 6F
03/25 13:37, 6F
→
03/25 17:12, , 7F
03/25 17:12, 7F
※ 編輯: jlovet 來自: 140.123.216.204 (03/26 03:25)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章