C++——已知a+b、 a+c、b+c、 a+b+c,求a、b、 c

有三個非負整數a、b、 C,現按隨機順序給出它們的兩兩和以及總和4個整數,即a+b、 a+c、b+c、 a+b+c, 注意,給出的4個數的順序是隨機的,請根據這四個數求出a、b、c是多少?

[輸入形式]

輸入為一-行4個正整數, x1、 x2、x3、 x4 (0≤xi≤10^9) ,表示a+b、a+c、b+c、a+ b+c結果的隨機順序的值,輸入保證能求出結果。

[輸出形式]

輸出為一-行,以非遞減的方式輸出a、b、 c, 注意a、b、c可能相等。

[樣例輸入1]

3 6 5 4

[樣例輸出1]

1 2 3

算法思路:從用戶輸入的四個數中,優選選出最大的那個數,因為它肯定是a+b+c
仔細觀察:
(a+b+c) - (a+b) = c
(a+b+c) - (a+c) = b
(a+b+c) - (b+c) = a
(a+b+c) - (a+b+c) = 0
如果找到最大的那個數,然后依次和輸入的那四個數相減,得出的新的四個數就是a,b,c,0,至于是誰是誰都不確定,此時需要將是個數存入到數組中去,然后由小到大排序,跳過0,從第二個數開始輸出即可。

代碼如下:

#include <iostream>
#include<algorithm>
using namespace std;int main()
{int m,n,p,q,M,x,y,z,k,a[4];//M用于存儲最大的那個數,即a+b+ccin>>m>>n>>p>>q;M=max(max(m,n),max(p,q));//M此時為a+b+cx=M-m;y=M-n;z=M-p;k=M-q;a[0]=x,a[1]=y,a[2]=z,a[3]=k;//分別將a,b,c,0存入數組中去sort(a,a+4);//從小到大排序cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;//a[0]必為0,不輸出,從a[1]開始依次輸出return 0;
}

效果如下:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378786.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378786.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378786.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DDD:DomainEvent、ApplicationEvent、Command

Command&#xff1a;縱向傳遞&#xff0c;跨分層&#xff0c;在控制器層和應用層之間傳遞。 DomainEvent&#xff1a;橫向傳遞&#xff0c;跨聚合&#xff0c;在一個DLL中。 ApplicationEvent&#xff1a;橫向傳遞&#xff0c;跨模塊&#xff0c;在不同的DLL中。轉載于:https:/…

表示和描述-邊界追蹤

邊界追蹤目標&#xff1a; 輸入&#xff1a;某一區域的點 輸出&#xff1a;這一區域的點的坐標序列&#xff08;順時針或逆時針&#xff09; Moore邊界追蹤法&#xff1a; 兩個前提條件&#xff1a; 1、圖像為二值化后的圖像&#xff08;目標為1&#xff0c;背景為0&#xff0…

視頻的讀取與處理

讀取本地視頻&#xff0c;以灰度視頻輸出 import cv2vc cv2.VideoCapture(E:\Jupyter_workspace\study\data/a.mp4)#視頻路徑根據實際情況而定#檢查是否打開正確 if vc.isOpened():open,fream vc.read()#read()返回兩個參數&#xff0c;第一個參數為打開成功與否True or Fal…

更靈活的定位內存地址的方法05 - 零基礎入門學習匯編語言36

第七章&#xff1a;更靈活的定位內存地址的方法05 讓編程改變世界 Change the world by program 問題7.8 [codesyntax lang"asm"] assume cs:codesg,ds:datasg datasg segment db ibm db dec db dos db vax …

nextgaussian_Java Random nextGaussian()方法與示例

nextgaussian隨機類nextGaussian()方法 (Random Class nextGaussian() method) nextGaussian() method is available in java.util package. nextGaussian()方法在java.util包中可用。 nextGaussian() method is used to generate the next pseudo-random Gaussian double valu…

Java PriorityQueue clear()方法與示例

PriorityQueue類clear()方法 (PriorityQueue Class clear() method) clear() method is available in java.util package. clear()方法在java.util包中可用。 clear() method is used to remove all the objects from this PriorityQueue. clear()方法用于從此PriorityQueue中刪…

圖像分割-邊緣連接

三種基本方法&#xff1a; 1&#xff1a;局部處理 2&#xff1a;區域處理 3&#xff1a;使用霍夫變換的全局處理 局部處理 根據預定的規則&#xff0c;將所有相似點連接起來。 用于確定邊緣像素相似性的兩個主要性質&#xff1a;1、梯度向量的幅度2、梯度向量的角度 由于要…

01-圖像ROI區域獲取

截取部分圖像數據 import cv2 def cv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()img2 cv2.imread("E:\Jupyter_workspace\study\data/cat.png")#讀取照片&#xff0c;第二個參數若為0&#xff0c;則灰度圖&#xff1b;若不填或者1…

如何編寫測試計劃

有以下幾個方面需要作考慮&#xff1a; 1. 測試的范圍。要測試什么&#xff0c;這是肯定要明確的&#xff0c;即使你知道&#xff0c;你也要寫出來&#xff0c;讓看這份文檔的人知道測試的范圍。在確定測試內容的時候&#xff0c;還可以做一個優先級的區分&#xff0c;這樣能保…

java clone 序列化_關于Java對象深度Clone以及序列化與反序列化的使用

? 我們可以利用clone方法來實現對象只見的復制&#xff0c;但對于比較復雜的對象(比如對象中包含其他對象&#xff0c;其他對象又包含別的對象.....)這樣我們必須進行層層深度clone&#xff0c;每個對象需要實現 cloneable接口&#xff0c;比較麻煩&#xff0c;那就繼續…

java enummap_Java EnumMap containsKey()方法與示例

java enummapEnumMap類containsKey()方法 (EnumMap Class containsKey() method) containsKey() method is available in java.util package. containsKey()方法在java.util包中可用。 containsKey() method is used to check whether this map has values for the given key e…

02-對圖像進行邊界填充

import cv2 import matplotlib.pyplot as pltimg2 cv2.imread("E:\Jupyter_workspace\study\data/cat.png")#讀取照片&#xff0c;第二個參數若為0&#xff0c;則灰度圖&#xff1b;若不填或者1則彩色圖或本身圖top_size,bottom_size,left_size,right_size (50,50,…

正則基礎

http://www.ipc.me/regular_expression_07681.html文章錯誤&#xff1a; 1 字符集的一些應用 第二個正則少了一個左方括號。 2 字符集的元字符 /[]x]/中的第一個]左邊少了一個轉義符&#xff0c;在這種情況下轉義符還是不能省略的。擴展 1 回車符 換行符 http://www.c…

Windows Phone 7獨立存儲空間IsolatedStorage

Windows Phone 7的solatedStorage可以用來保存應用程序的數據和設置。結構圖如下 一、相關類 1.IsolatedStorageFile類 1&#xff09;描述&#xff1a;表示在獨立存儲空間中的文件和目錄。 2&#xff09;重要屬性 long AvailableFreeSpace&#xff1a;IsolatedStorage有效的剩余…

圖像分割-閾值處理詳解(迭代法、Otsu法、平滑改善法、邊緣改進法、分塊處理法、局部特性法、移動平均法)

博主聯系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里會有往屆的smarters和電賽選手&#xff0c;群里也會不時分享一些有用的資料&#xff0c;有問題可以在群里多問問。 閾值處理詳解基礎&#xff1a;基于全局的閾值處理1迭代算法&#xff08;最小概率誤…

java 用戶控件_C#自定義控件VS用戶控件

C#中自定義控件VS用戶控件大比拼1 自定義控件與用戶控件區別WinForm中&#xff0c;用戶控件(User Control)&#xff1a;繼承自 UserControl&#xff0c;主要用于開發 Container 控件&#xff0c;Container控件可以添加其他Controls控件自定義控件(Custom Control)&#xff1a;繼…

Java FileDescriptor sync()方法與示例

FileDescriptor類sync()方法 (FileDescriptor Class sync() method) sync() method is available in java.io package. sync()方法在java.io包中可用。 sync() method is used to synchronize all the system buffer with the underlying device. sync()方法用于將所有系統緩沖…

windows 7資源管理器崩潰解決方法

最近被頻繁的資源管理器explorer崩潰搞得幾乎生活不能處理&#xff0c;一打開帶有視頻的文件夾&#xff0c;就explorer崩潰&#xff0c;要瘋了。 日志中含有mpc_mtcontrol.dll 查來查去&#xff0c;沒有一個確定的答案&#xff0c;baidu&#xff0c;google都沒用&#xff0c;最…

03-對圖像進行數值計算和加權融合

數值計算 import cv2img_1 cv2.imread(E:\Jupyter_workspace\study\data/beyond.png) img_2 cv2.imread(E:\Jupyter_workspace\study\data/water2.png)img_1_1 img_1 10 img_1[:2,:,0]#輸出前兩行就行 img_1_1[:2,:,0]#[h,w,c] img_2[:2,:,0]#[h,w,c](img_1 img_2)[:2,:,…

SQL Server存儲過程(procedure)應用

用戶反映&#xff0c;系統操作日志會使用數據庫快速增大&#xff0c;情況可參考下圖&#xff0c; 問題分析&#xff0c;整個系統每個頁面&#xff0c;都有寫記錄用戶操作代碼&#xff0c;修改或禁用這個代碼&#xff0c;看來是不可能的。 在原有系統參數表添加一個選項&#xf…