计算糖果

A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数。现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。

输入描述:输入为一行,一共4个整数,分别为A - B,B - C,A + B,B + C,用空格隔开。 范围均在-30到30之间(闭区间)。

输出描述:输出为一行,如果存在满足的整数A,B,C则按顺序输出A,B,C,用空格隔开,行末无空格。 如果不存在这样的整数A,B,C,则输出No

示例          输入          1 -2 3 4          输出          2 1 3

【解题思路】

用 x1,x2,x3,x4分别代表四个输入的整数  找到其关于a,b,c的关系  列出相关等式。

若结果是整数 说明计算正确 输出结果

若结果存在一个非整数 则表示不能找到满足的整数集合 即输出No

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int x1,x2,x3,x4;
        float a,b,c;
        while(sc.hasNext()){
            x1 = sc.nextInt();  //a-b
            x2 = sc.nextInt();  //b-c
            x3 = sc.nextInt();  //a+b
            x4 = sc.nextInt();  //b+c
            a = (x1+x3)/2f;
            b = (x2+x4)/2f;
            c = (x4-x2)/2f;
            
            if((a-((x1+x3)/2))!=0){
                System.out.print("No");
                return;
            }
            if(((b-((x2+x4)/2))!=0)||((b-((x3-x1)/2))!=0)){
                System.out.print("No");
                return;
            }
            if((c-((x4-x2)/2))!=0){
                System.out.print("No");
                return;
            }
            System.out.print((int)a+" "+(int)b+" "+(int)c);
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值