八硬币问题

给出了八个硬币,只知道其中七个都是真的,另外一个是假的,假的那个比真的总或者比真的轻,请找出哪个是假的。

此处用决策树来解决,决策树算法一般用在一些数据分类问题方面,该问题其实并不是非常适合,仅作为使用演示。决策树是一种依托于策略选择而建立的树,可以是二叉树也可以是多叉树。决策树有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。

 

为所有的硬币赋相同的值,随机选择一个来赋予不同的值,是为假硬币。通过决策树来选择那个假的硬币,详见代码:

//八枚银币比较问题,决策树,根据每次比较结果的不同而采用不同的决策
#include <iostream>
#include <time.h>
using namespace std;


void CoinCmp(int *coins, int smallOne, int bigOne, int RightOne)
{
	if (coins[smallOne] < coins[RightOne])
	{
		cout<<"银币"<<smallOne+1<<"为假银币,重量较轻"<<e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值