User terranum
terranum
28 уровень
Milan

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

Статья из группы Архив info.javarush.ru
Кухня(); Задание N12. - 1 Правила [Одномерные массивы] 12. Даны натуральные числа a1, a2, ..., an. Указать те, у которых остаток от деления на М равен L (0 ≤ L ≤ М – 1).
Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
RabenokDmitry Уровень 21, Саратов
10 февраля 2015
public static int[] modulo(int[] array, int m, int l) {
        int[] result = new int[0];
        for (int value : array) {

            System.out.print(value % m == l ? value + "\n" : "");
            if (value % m == l) {

                result = Arrays.copyOf(result, result.length + 1);
                result[result.length - 1] = value;
            }
        }
        return result;
    }
ragesteel Уровень 19
12 октября 2014
В Java 8 можно и так:
public static int[] filterByReminder(int[] a, int m, int l) {
        return Arrays.stream(a).filter(value -> l == value % m).toArray();
    }
Voronblack Уровень 17
24 августа 2014
Добавил некоторые ограничения на деление, а остальное все с той же второй кухни.
public static int[] divideWithRemainder(int m, int l, int...values)
    {
        if(values.length == 0 || m == 0)
        throw new IllegalArgumentException("Bad args");

        int[] result = new int[0];
        for (int i : values)
            if(i % m == l)
            {
            result = Arrays.copyOf(result, result.length + 1);
            result[result.length - 1] = i;
            }
        return result;
    
    }
Sultan Уровень 16, Азербайджан
24 августа 2014

public static int[] method(int[] arr, int m, int l) {
    LinkedList<int> res = new LinkedList<int>();
    for (int n : arr) {
        if (n % m == l) {
            res.add(n);
        }
    }
    return res.toArray();
}