For-Loop - Exercise - Java - 04. Equal Pairs
Здравейте,
На тест 7 ми дава грешка на кода, защото очакваният отговор е 88, а този от кода е 145.
Входящи данни 7-двойки:
1. 34+(-33) = 1
2. 52+12 = 64
3. -32+32 = 0
4. 23+41 = 64
5. 7+25 = 32
6. 34+23 = 57
7. 124+21=145
Най-голямата разлика, според мен е м/у 0 и 145...
Аз ли греша или има проблем ?
Дадени са 2 * n числа. Първото и второто формират двойка, третото и четвъртото също и т.н. Всяка двойка има стойност – сумата от съставящите я числа. Напишете програма, която проверява дали всички двойки имат еднаква стойност. В случай, че е еднаква отпечатайте "Yes, value=…" + стойността, в противен случай отпечатайте максималната разлика между две последователни двойки в следния формат - "No, maxdiff=…" + максималната разлика. Входът се състои от число n, следвано от 2*n цели числа, всички по едно на ред.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i=1;i<=n ;i++ ) {
int first = Integer.parseInt(sc.nextLine());
int second = Integer.parseInt(sc.nextLine());
int sum = first+second;
if (sum>max){
max = sum;
}
if(sum<min){
min = sum;
}
}
if ((max - min) ==0){
System.out.printf("Yes, value=%s", max);
}else{
System.out.printf("No, maxdiff=%s", (max-min));
}
}
}
Малко логиката на проверките трябва да се промени, ето малко по-кратък код, който минава със 100/100:
"максималната разлика между две последователни двойки" - това ми е грешката .... Благодаря!