题目:
Dawid有了 4 包糖果。第 i 包里面有 Ai 个糖果。 Dawid想把这四包糖果送给两个朋友,能否让两个朋友收到相同数量的糖果?
注意,不能拆开任何一包糖,不能把糖果留给自己或扔掉,四包糖果都应该送出去。
输入:
一行包含四个整数 A1、A2、A3、A4(1≤Ai≤100)
分别代表每一包中糖果的数量。
输出:
如果可以让两个朋友得到相同数量的糖果,则输出“YES”,不能则输出“NO”。
样例:
1 7 11 5
YES
7 3 2 5
NO
思路
这道题思路很简单,直接看代码就能看懂
代码:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int []a = new int[4]; for (int i = 0; i < a.length; i++) { a[i]=scanner.nextInt(); } int sum=0; for (int i = 0; i < a.length; i++) { sum+=a[i]; } if (sum%2!=0) { System.out.println("NO"); return ; } Arrays.sort(a); int temp=sum/2; for (int i = 0; i < a.length; i++) { int res=a[i]; for (int j = i+1; j < a.length; j++) { res = res+a[j]; if (res==temp) { System.out.println("YES"); return ; } if (res>temp) { break; } } } System.out.println("NO"); } }