摘要:本文是一道经典编程题的题解,题目要求从三个重量不同的球中找出唯一重量不同的那个球,并给出了易于理解的 C++ 代码实现。
题目描述
三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。
输入格式:
输入在一行中给出3个正整数,顺序对应球A、B、C的重量。
输出格式:
在一行中输出唯一的那个不一样的球。
输入样例:
1 1 2输出样例:
C代码部分实现
#include<iostream>// 引入标准输入输出头文件usingnamespacestd;intmain(void)// 主函数{inta,b,c;// 定义三个球的重量变量cin>>a>>b>>c;// 读入三个球的重量// 核心逻辑:三个球中只有一个重量不同,利用两两比较来定位// 如果A和B重量相同,那么C必然是与它们不同的那个球if(a==b){cout<<"C"<<endl;}// 走到这里说明A和B不同,再判断A和C是否相同// 如果A和C重量相同,那么B就是唯一不同的那个球elseif(a==c){cout<<"B"<<endl;}// 前两个条件都不满足:A不等于B,且A也不等于C// 这意味着A与另外两个球都不同,A就是那个唯一重量不同的球else{cout<<"A"<<endl;}return0;// 返回0表示程序正常结束}算法核心思路:本题利用"排除法"思想,通过两两比较即可定位唯一重量不同的球。首先比较A和B——若相等,则C必然不同;若不等,则再比较A和C——若相等,则B不同,否则A不同。整个过程只需两次比较,时间复杂度为O(1),是解决三球问题的最高效方案。