输入包括一行,四个整数a,b,c,d(1 ≤ a,b,c,d ≤ 10^6), 以空格分割
输出一个整数,表示牛牛最少需要支付的硬币
4 1 5 4
4
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 4; i++) {
list.add(sc.nextInt());
}
Collections.sort(list);
List<Integer> results = new ArrayList<>();
for (int i = list.get(0); i <= list.get(3) ; i++) {
int count = 0;
for (int j = 0; j < 4; j++) {
if (list.get(j) >= i){
count += (list.get(j)-i);
}else {
count += (i - list.get(j));
}
}
results.add(count);
}
Collections.sort(results);
System.out.println(results.get(0));
}
}
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[] input = new int[4]; for (int i=0; i<4; i++) input[i] = in.nextInt(); System.out.println(getMin(input)); } static int getMin(int[] input) { int min = Integer.MAX_VALUE; for (int i=0; i<4; i++) { int sum=0; for (int j=0; j<4; j++) sum += Math.abs(input[i]-input[j]); min = Math.min(min, sum); } return min; } }
def findCost(array): minVal = min(array) maxVal = max(array) minCost = 1e9 for num in range(minVal, maxVal+1): temp_cost = 0 for j in range(4): temp_cost += abs(num - array[j]) minCost = min(minCost, temp_cost) return minCost inputArr = list(int(x) for x in input().split(" ")) print(findCost(inputArr))
#include <iostream> #include <algorithm> using namespace std; int main() { int a[4]; int i; for(i=0;i<4;i++) cin>>a[i]; sort(a,a+4); cout<<a[3]+a[2]-a[1]-a[0]<<endl; return 0; }