Для данного числа N отображается формат M * M

Мы даем число (n) в первой строке Вывод программы: Следующие ? строк содержат ? целых чисел, разделенных пробелами, описывающих первое расположение.

n=m^2
Например: 9

Output:1  2  3
       4  5  6
       7  8  9

Например: 16

Выход:
Для данного числа N отображается формат M * M

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n;
        int m;
        System.out.println("Enter number of team");
        n = scanner.nextInt();

        m = (int) Math.sqrt(n);

        int[][] array = new int[m][m];


        for(int i=0;i<m;i++) {
            for(int j=0;j<m;j++) {
                array[i][j]=j+1;
                System.out.print(array[i][j]);
            }
            System.out.println();
        }

    }

}

Buy my program output

Entry: 3

Output:

123

123

123

Что ты спрашиваешь?

QBrute 27.04.2018 22:34

Так в чем конкретно ваш вопрос?

OldProgrammer 27.04.2018 22:34

Привет и добро пожаловать в StackOverflow. Пожалуйста, найдите время, чтобы прочитать страницу справки, особенно разделы с названиями "Какие темы я могу спросить здесь?" и «Какие типы вопросов мне следует избегать?». И что еще более важно, прочтите, пожалуйста, контрольный список вопросов о переполнении стека. Вы также можете узнать о Минимальные, полные и проверяемые примеры.

lexicore 27.04.2018 22:34

Это пахнет проблемой Leetcode / Hackerrank ...

SteveK 27.04.2018 22:34

Почему ваш вопрос не совсем хороший: непонятно, о чем вы спрашиваете. Ваш вопрос не содержит вопроса. Вот пример кода, который выглядит более-менее хорошо. В чем твоя трудность?

lexicore 27.04.2018 22:36

Мы даем число: (N): 16 M ^ 2 = N; M = 4 Итак, строка вывода программы: 4 столбца: 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

turkish developer 27.04.2018 22:39

я редактирую вопрос

turkish developer 27.04.2018 22:39

Но вы все еще не задали вопрос. Все, что вы сделали, это вставили формулировку проблемы и вставили код. Мы не знаем, как вам помочь.

Joe C 27.04.2018 22:40

@JoeC, пожалуйста, посмотрите сообщение еще раз

turkish developer 27.04.2018 22:43

В твоем посте не вижу ни одного вопросительного знака .. В чем твой вопрос? Вы на чем-то застряли? Программа не дает желаемого результата? Все, что вам нужно сделать, это указать требования и код.

GBlodgett 27.04.2018 22:45

@GBlodgett, пожалуйста, посмотрите сообщение еще раз

turkish developer 27.04.2018 22:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
11
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы до сих пор не задали ни одного вопроса, но я предполагаю, что ваша программа дает неправильный ответ (как это бывает на самом деле), и вы не знаете, почему. Например: для n = 16 он печатает:

1234
1234
1234
1234

За это отвечает следующий фрагмент кода:

array[i][j]=j+1;
System.out.print(array[i][j]);

Во-первых, вы не печатаете пробелы, поэтому числа не разделяются. Во-вторых, вы должны использовать другую формулу: i*m+j+1 (поскольку число зависит как от i, так и от j). Также нет смысла хранить массив, но это не ошибка.

Предлагаемое исправление:

System.out.print(m*i+j+1 + " ");

Правильный вывод: 1 2 3 4-5 6 7 8-9 10 11 12-13 14 15 16

turkish developer 27.04.2018 22:47

Другие вопросы по теме

Алгоритм уменьшения десятичных знаков в шаблоне 0,2 -> 0,1 -> 0,09 -> 0,08 -> ... -> 0,02 -> 0,01 -> 0,009
Как вызвать метод по имени с разными сигнатурами в Typescript?
Эффективный алгоритм создания слов на java
Изменение алгоритма поиска в глубину с использованием матрицы смежности для поиска определенного конечного узла
График. Производство ресурсов меняется наполовину, подсчитать общее количество ресурсов, производимых игроком онлайн?
Алгоритм поиска минимального количества подмножеств, где сумма каждого набора не превышает максимального значения
Быстро по модулю 10 в c
Отбор проб из коллектора с постоянной памятью, O (k) возможно?
Найдите путь в ориентированном графе заданной длины с учетом циклов и отрицательной длины
Алгоритм нахождения наименьшего + ve целого числа, большего, чем данное число, которое имеет тот же двоичный вес, что и данное целое число