Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Массив из степеней двоек / 12 сообщений из 12, страница 1 из 1
16.07.2021, 20:57
    #40084399
RumaNO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Создать целочисленный массив на 16 элементов. Заполнить этот массив в цикле числами из ряда степеней двойки в обратном порядке: от 2^15 до 2^0. Для расчета степени использовать класс Math.

Подскажите как это сделать и что должно быть выведено?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Main {

    public static void main(String[] args) {
        
        int[] arr16 = new int[][16];

        for (int i = 0; i < arr16.length ; i++) {
            arr16[i] = Math.pow(2, i);
        }
        System.out.println(Arrays.toString(arr16));
        
      }
    }
...
Рейтинг: 0 / 0
16.07.2021, 21:16
    #40084400
Массив из степеней двоек
Вообще тут без Math проще:
Код: java
1.
2.
3.
4.
5.
6.
    public static void main(String[] args) {
        int[] powers = new int[16];
        for(int i = 0; i < powers.length; i++)
            powers[i] = 1 << (powers.length - i - 1);
        System.out.println(Arrays.toString(powers));
    }

Но если по заданию очень надо, замени на Math.pow() и приводи к int.
...
Рейтинг: 0 / 0
17.07.2021, 00:01
    #40084417
RumaNO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Stanislav Bashkyrtsev
Вообще тут без Math проще:
Код: java
1.
2.
3.
4.
5.
6.
    public static void main(String[] args) {
        int[] powers = new int[16];
        for(int i = 0; i < powers.length; i++)
            powers[i] = 1 << (powers.length - i - 1);
        System.out.println(Arrays.toString(powers));
    }

Но если по заданию очень надо, замени на Math.pow() и приводи к int.

Именно это и нужно по заданию
...
Рейтинг: 0 / 0
17.07.2021, 00:13
    #40084418
RumaNO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Stanislav Bashkyrtsev
Вообще тут без Math проще:
Код: java
1.
2.
3.
4.
5.
6.
    public static void main(String[] args) {
        int[] powers = new int[16];
        for(int i = 0; i < powers.length; i++)
            powers[i] = 1 << (powers.length - i - 1);
        System.out.println(Arrays.toString(powers));
    }

Но если по заданию очень надо, замени на Math.pow() и приводи к int.

Как то так?
Код: java
1.
2.
for(int i = 0; i < arr16.length; i++)
            arr16[i] = (int) Math.pow(arr16.length - i -1, 1);
...
Рейтинг: 0 / 0
17.07.2021, 00:28
    #40084419
RumaNO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
RumaNO
Stanislav Bashkyrtsev
Вообще тут без Math проще:
Код: java
1.
2.
3.
4.
5.
6.
    public static void main(String[] args) {
        int[] powers = new int[16];
        for(int i = 0; i < powers.length; i++)
            powers[i] = 1 << (powers.length - i - 1);
        System.out.println(Arrays.toString(powers));
    }

Но если по заданию очень надо, замени на Math.pow() и приводи к int.

Как то так?
Код: java
1.
2.
for(int i = 0; i < arr16.length; i++)
            arr16[i] = (int) Math.pow(arr16.length - i -1, 1);


Так правильней будет:
Код: java
1.
2.
 for(int i = 0; i < arr16.length; i++)
            arr16[i] = (int) Math.pow(2, i);
...
Рейтинг: 0 / 0
17.07.2021, 10:41
    #40084433
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Учитывая
авторЗаполнить этот массив в цикле числами из ряда степеней двойки в обратном порядке: от 2^15 до 2^0.
Правильнее будет
Код: java
1.
2.
for(int i = arr16.length; i > -1; i--)
            arr16[i] = (int) Math.pow(2, i);
...
Рейтинг: 0 / 0
17.07.2021, 12:48
    #40084440
RumaNO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
SQL2008
Учитывая
авторЗаполнить этот массив в цикле числами из ряда степеней двойки в обратном порядке: от 2^15 до 2^0.

Правильнее будет
Код: java
1.
2.
for(int i = arr16.length; i > -1; i--)
            arr16[i] = (int) Math.pow(2, i);


Но так выдает ошибку
...
Рейтинг: 0 / 0
17.07.2021, 15:22
    #40084452
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Задача имела-бы больше тренировочного математического смысла если степень двойки заменить на число "e"
и массив целых - на массив floating points. Тогда и Math.pow - usefull.
...
Рейтинг: 0 / 0
18.07.2021, 15:16
    #40084522
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Я ошибся чуток.
Нужно начинать с числа меньшего чем длина на единицу
Код: java
1.
2.
for(int i = arr16.length - 1; i > -1; i--)
            arr16[i] = (int) Math.pow(2, i);
...
Рейтинг: 0 / 0
18.07.2021, 23:43
    #40084543
O_79_O
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
RumaNO
Создать целочисленный массив на 16 элементов. Заполнить этот массив в цикле числами из ряда степеней двойки в обратном порядке: от 2^15 до 2^0. Для расчета степени использовать класс Math.

Подскажите как это сделать и что должно быть выведено?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Main {

    public static void main(String[] args) {
        
        int[] arr16 = new int[][16];

        for (int i = 0; i < arr16.length ; i++) {
            arr16[i] = Math.pow(2, i);
        }
        System.out.println(Arrays.toString(arr16));
        
      }
    }



если это тестовое задание на работу - просто сразу уходи)

ну не будет такого в реал лайфе,если ты не пишешь какой то фреймоврк.

я был на проекте который писался студнями - вот они там нагордили этих битовых операций= в итоге рано или поздно все они ушли,че с этим делать никто не знал- и выпилили)
вся работа программиста сейчас сводится к трем вещам
1.взять джейсон
2.отдать джейсон
3.написать правильный быстрый запрос в бд

и вот от 3го пункта и зависит квалификация- так как там настолько обширное поле для маневров,что даже спецы с 20 летним стажем теряются на таких вроде простых задачах,как реляционное деление

а все операции с массивами это конечно хорошо,но там нет ничего ,чтобы не найти в первом запросе в гугол)
...
Рейтинг: 0 / 0
19.07.2021, 09:47
    #40084577
Массив из степеней двоек
O_79_Oи вот от 3го пункта и зависит квалификацияПришел человек с двумя годами опыта и рассказывает про квалификацию :) RumaNO , ты сильно не слушай - учи и битовые операции, и работу с массивами. Это все фундаментальные знания которые не устареют. Они нужны и при написании своих приложений (особенно если они не такие типичные, как приведенный пример от O_79_O), так и при чтении чужого кода (особенно если это исходники СУБД, JVM, операционной системы) и разбора всяких важных структур данных (HashMap, Bloom Filter, BitMap). Такие вещи важно знать, они будут в будущем экономить твое время.

А посты от O_79_O можно смело игнорировать, вся его задача на этом форуме сводится к тому чтоб всем доказать что он крутой программист.
...
Рейтинг: 0 / 0
19.07.2021, 10:40
    #40084592
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив из степеней двоек
Качество тестовых заданий конечно ужасное. Они вобщем-то не релевантны к тому что на самом деле делают
на проекте. Но оно вобщем-то и понятно. Что дать? Бизнес-постановку - нельзя. Человек еще всех бумаг не подписал.

Я-бы выдавал простенькие задачи из дискретной математики. Тысячи их. Пускай чел даже не читал дейкстру.
Например - найти кратчайший маршрут по графу. Там не очень сложно. Любой посидев 15 минут с бумажкой
и карандашом что-то сможет написать с полным перебором. Только со структурой данных повозится надо.

И задачи на текст. Классика - дан текст с ошибками и справочник правильных слов. Надо найти неправильные
слова и исправить. При кажущейся простоте - там есть повод куда углублятся. Без знаний метрик расстояния
любой разработчик за 15-20 минут придумает свою формулу близости двух слов.

С хешами и паролями - просто бесконечный клондайк задач можно придумать.

Задачи на файловый API/Networking, Multithreading, Collections можно просто задать устно. Типа вот у вас дан
фолдер где на 1Тб логов. И надо описать макет или POC для поисковика который будет находить в логах
все ERRORS. Разумеется мультипоточка.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Массив из степеней двоек / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]