请问各位大侠,用VC++如何给出以下题目的算法???

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:28:25
题目:在13个乒乓球中有1个次品,外表和正品一样,但质量不同,不知是轻还是重。试给出一个算法,用不带砝码的天平以尽可能少的次数将次品挑出来。
小弟在此先谢谢!

首先将13个球分分两堆,一堆6个,另一堆7个,然后先称6个那堆,一边放三个。如果此时天平平衡,则要找的那个球在剩下的7个中。如不平衡,则称其中一边的3个,取两个来称,即可找出不同的那个。
假设第一次称之后发现不同的那个球在剩下的7个中,则再取6个来称(一边3个),又有两种情况:1、平衡,则剩下的那个球即是要的的。2、不平衡,则又取3个来称,到此完成三次称取,找到不同的那个。
算法是:::2的n次方等于13,再对n求整,就是最少的次数了