骰子游戏算分算法

有一个骰子游戏,共有5个骰子,随机扔,然后算出总分,下面是点数对应得分值:

得分值

31=1000
36=600
35=500
34=400
33=300
32=200
11=100
15=50

例子

 5 1 3 4 1   50 + 2 * 100 = 250
 1 1 1 3 1   1000 + 100 = 1100
 2 4 4 5 4   400 + 50 = 450

继续阅读

一个菜单分类的算法(非递归)

直接上代码

// 菜单树算法(非递归)
function list2tree($list) {
	$tree = [];
	foreach ($list as $v) {
		$tree[$v['id']] = $v;
		$tree[$v['id']]['sub'] = []; //子类
	}
	foreach ($tree as $k=>$v) {
		if ($v['pid']) {
			$tree[$v['pid']]['sub'][] = &$tree[$k];
		}
	}
	foreach ($tree as $k=>$v) {
		if ($v['pid']) {
			unset($tree[$k]);
		}
	}
	return $tree;
}

继续阅读