<?php
function randP($p) {
if (($r=rand(0, 99)) <($p-1)) return 2; // 80% случаев //else не надо
if (($r = ((int) (($r-$p)/20*9))+1) < 2) return $r; //1
return ($r+1);
}
for ($i=0;$i<100;$i++) {
echo randP(80)."\n";
}
PD9waHAKZnVuY3Rpb24gcmFuZFAoJHApIHsKaWYgKCgkcj1yYW5kKDAsIDk5KSkgPCgkcC0xKSkgcmV0dXJuIDI7ICAvLyA4MCUg0YHQu9GD0YfQsNC10LIKIC8vZWxzZSDQvdC1INC90LDQtNC+CgoKaWYgKCgkciA9ICgoaW50KSAoKCRyLSRwKS8yMCo5KSkrMSkgPCAyKSByZXR1cm4gJHI7IC8vMSAKcmV0dXJuICgkcisxKTsKfQpmb3IgKCRpPTA7JGk8MTAwOyRpKyspIHsKICAgICAgICBlY2hvIHJhbmRQKDgwKS4iXG4iOwp9Cg==