开奖算法,数据归一化映射到任一区间 PHP实现

2021年6月9日12:14:56

参照算法
https://blog.csdn.net/willduan1/article/details/80448493?utm_source=blogxgwz6

 

 

 

if (!function_exists('normalized_mapping')) {

    /*
     * 数据归一化映射到任一区间算法
     */
    function normalized_mapping(int $x, int $x_min, int $x_max, int $y_min, int $y_max)
    {
        return $y_min + (($y_max - $y_min) / ($x_max - $x_min)) * ($x - $x_min);
    }
}

 

 测试

        $x = 0;
        $x_min = 358012; 点数下限
        $x_max = 361571; 点数上限
        $y = 0;
        $y_min = 1;
        $y_max = 1000000;

        $k = 1;
        $data = [];
        for ($i = $x_min; $i <= $x_max; $i++) {
            $t = (int)normalized_mapping($i, $x_min, $x_max, $y_min, $y_max);
            $data[] = $t;
            p($k++ . '------' . $t);
        }

        $array = $data;
        //判断是否有重复数据
        $unique_arr = array_unique($array);
        $repeat_arr = array_diff_assoc($array, $unique_arr);
        p($repeat_arr);

 

posted on 2021-09-02 09:41  zh7314  阅读(148)  评论(0编辑  收藏  举报