PTA基础编程题目集 7-9用天平找小球(C++语言实现)
2026/8/5 0:11:51 网站建设 项目流程

摘要:本文是一道经典编程题的题解,题目要求从三个重量不同的球中找出唯一重量不同的那个球,并给出了易于理解的 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),是解决三球问题的最高效方案。

算法流程图

开始

输入 a, b, c

a == b ?

输出 C

a == c ?

输出 B

输出 A

结束

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询