JavaRush /Java блог /Архив info.javarush /Кухня(); Задание N38.
terranum
28 уровень
Milan

Кухня(); Задание N38.

Статья из группы Архив info.javarush
Кухня(); Задание N38. - 1 Правила [Одномерные массивы] 38. Дана последовательность целых чисел a1, a2, ..., аn. Указать пары чисел аi, аj, таких, что аi + аj = m.
Комментарии (7)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vash_the_Stampede Уровень 11
6 сентября 2014
import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) {
        int[] arr = { 0, 1, 2, 3, 4, 5, 6 };
		Pair[] res = solve(arr, 6);
		System.out.println(Arrays.toString(res));
    }
	
	public static Pair[] solve(int[] arr, int m) {
	    int count = 0;
		int n = arr.length;
		for (int i = 0; i < n; i++) {
			for (int j = i; j < n; j++) {
				if (arr[i] + arr[j] == m) {
					count++;
				}
			}
		}
		
		Pair[] res = new Pair[count];
		for (int i = 0; i < n; i++) {
			for (int j = i; j < n; j++) {
				if (arr[i] + arr[j] == m) {
					res[--count] = new Pair(arr[i], arr[j]);
				}
			}
		}
		return res;
    }
	
	public static class Pair {
		public int first, second;
		
		public Pair(int first, int second) {
			this.first = first;
			this.second = second;
		}

		@Override
		public String toString() {
			return new StringBuffer().append('(').append(first).append(", ").append(second).append(')').toString();
		} 
	}

}