【问题描述】
你的朋友提议玩一个游戏:将写有数字的的n纸片放入口袋中,你可以从口袋中抽取三次纸片,每次记下纸片上的数字后都将其放回到口袋中,如果这三个数字的和是m,就是你赢,否则就是你朋友赢。请你编写一个程序,判断当纸片上所写的数字是k1,k2,…,kn时是否存在抽取三次之和为m的方案。
【输入形式】
输入的第一行为一个正整数 n 表示口袋中纸片数目(int类型)第二行为一个正整数表示三个数字的和 第三行为n个整数表示每个纸片上的数字(int类型)
【输出形式】
如果存在符合要求的方案,输出Y,否则,输出N。
【样例输入】
3
10
2 3 5
【样例输出】
Y
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s=new Scanner(System.in); int n=s.nextInt(); int K=s.nextInt(); int[] arr=new int[n]; for(int i=0;i<n;i++){ arr[i]=s.nextInt(); } boolean bool=false; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ for(int k=j+1;k<n;k++){ if((arr[i]+arr[j]+arr[k]==K)){ bool=true; } } } } if(bool){ System.out.println("Y"); }else{ System.out.println("N"); } } }