>  기사  >  데이터 베이스  >  有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一

有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一

WBOY
WBOY원래의
2016-06-07 15:43:101140검색

import java.util.Scanner; //有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。 public class JieJin { public static void main(String args[]) { double[] l = new double[] { 1.1, 1

import java.util.Scanner;

//有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。

public class JieJin {

 public static void main(String args[]) {

  double[] l = new double[] { 1.1, 1.5, 1.6, 2.1, 2.2, 2.8, 3.8, 4.1 };

  Scanner cin = new Scanner(System.in);
  System.out.println("输入x:");
  int x = cin.nextInt();
  System.out.println("输入M:");
  double M = cin.nextDouble();
  double sum = 9999;

  int start = 0;

  for (int i = 0; i    if (sum(l, i, x, M)     sum = sum(l, i, x, M);
    start = i;
   }
   if (x + i >= l.length)
    break;
  }

  System.out.println(start);

 }

 private static double sum(double[] l, int i, int x, double M) {
  double sum = 0;
  for (int k = 0; k    sum = sum + chazhi(l[i], M);
   i++;
   if (i >= l.length)
    break;

  }
  return sum;
 }

 private static double chazhi(double a, double b) {
  if (a - b > 0)
   return a - b;
  else
   return b - a;
 }

}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.