zoukankan      html  css  js  c++  java
  • 网易2017校招编程:计算糖果

    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

    直接计算
    为什么java就不对c++就可以了
    #include<iostream>
    using namespace std;
    
    int main()
    {
        int m1,m2,m3,m4;
        cin >> m1 >> m2 >> m3 >> m4;
         
           int A = (m1 + m3) / 2;
           int B = (m3 -m1) / 2;
           int C = (m4 - m2)/2;
           if(A - B == m1 && A + B == m3 &&
              B-C == m2 && B+C == m4)
           {
               cout << A <<" "<< B<<" "<< C << endl;
           }
            else
            {
                cout << "No" << endl;
            }
         
        return 0;
    }

    下面数组越界

    import java.util.Scanner;
    
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int a,b,c,d;
            int A,B,C;
            while(in.hasNext()){
                a = in.nextInt();
                b = in.nextInt();
                c = in.nextInt();
                d = in.nextInt();
                A = (a+c)/2;
                B = (c-a)/2;
                C = (d-b)/2;
                if( (A-B==a)  && (B-C==b) && (A+B ==c) && (B+C==d))
                    System.out.println(A+" "+B+" "+C);
                else
                    System.out.println("No");
            }
    
        }
    
    
    }



  • 相关阅读:
    GoogLeNet学习笔记
    ResNet学习笔记
    VGG学习笔记
    AlexNet学习笔记
    目标检测SSD
    YOLO系列(1)—— YOLO v1
    YOLO系列(2)—— YOLO v2
    R-CNN系列(4)—— Faster R-CNN
    如何打开.ipynb文件
    机器学习中的采样
  • 原文地址:https://www.cnblogs.com/theskulls/p/5868542.html
Copyright © 2011-2022 走看看