qq_52764159
2021-11-07 17:45
采纳率: 100%
浏览 63
已结题

帮帮忙,用java写二分法

给定一串递增数列,找到其中两个不同的数字 a[i] 和 a[j],使得a[i] + a[j] = k,并输出较小的那个数

如果有组a[i] 和 a[j] 满足条件,则输出其中数值最小的数,如果没有找到,输出-1
用java编写,能带主函数最好

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    import java.util.Scanner;
    public class Test{
      public static void main(String [] args){
        int a[10] = {1,3,5,9,11,20,30,33,45,68};
        int i,j;
        int k;
        Scanner sc = new Scanner(System.in);
        k = sc.nextInt();
        for(i=0;i<10;i++){
            for(j=0;j<9;j++){
                if(i!=j && a[i]+a[j]==k){
                    System.out.print(a[i]+"+"+a[j]+"="+k+"\t");    
                    System.out.println(a[i]>a[j]?a[j]:a[i]);
                }    
            }    
        }
        
        }
    }
    
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题