Dado un número N, coloque los números del rango [1, N 2 ] en una array NxN tal que la suma en cada fila sea igual.
Ejemplos:
C++
// C++ program to distribute n^2 numbers // to n people #include <bits/stdc++.h> using namespace std; vector<vector<int>> solve(vector<vector<int>> arr, int n) { // 2D array for storing the final result vector<vector<int>> ans(n, vector<int> (n, 0)); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { // Using modulo to go to the firs // column after the last column ans[i][j] = arr[j][(i + j) % n]; } } return ans; } void show(vector<vector<int>> arr, int n) { vector<vector<int>> res = solve(arr, n); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { cout << res[i][j] << " "; } cout << endl; } } // Making a 2D array containing numbers vector<vector<int>> makeArray(int n) { vector<vector<int>> arr(n, vector<int>(n, 0)); int c = 1; for (int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { arr[i][j] = c; c++; } } return arr; } // Driver code int main() { int n = 5; vector<vector<int>> arr = makeArray(n); show(arr, n); return 0; } // This code is contributed by divyesh072019
Java
// Java program to distribute n^2 numbers to n people public class Numbers { public static int[][] solve(int[][] arr, int n) { // 2D array for storing the final result int[][] ans = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // using modulo to go to the firs // column after the last column ans[i][j] = arr[j][(i + j) % n]; } } return ans; } public static void show(int[][] arr, int n) { int[][] res = solve(arr, n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.print(res[i][j] + " "); } System.out.println(); } } // making a 2D array containing numbers public static int[][] makeArray(int n) { int[][] arr = new int[n][n]; int c = 1; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) arr[i][j] = c++; } return arr; } // Driver Code public static void main(String[] args) { int n = 5; int[][] arr = makeArray(n); show(arr, n); } }
Python3
# Python3 program to distribute n^2 # numbers to n people def solve(arr, n): # 2D array for storing the final result ans = [[0 for i in range(n)] for j in range(n)] for i in range(n): for j in range(n): # Using modulo to go to the firs # column after the last column ans[i][j] = arr[j][(i + j) % n] return ans def show(arr, n): res = solve(arr, n) for i in range(n): for j in range(n): print(res[i][j], end = " ") print() # Making a 2D array containing numbers def makeArray(n): arr = [[0 for i in range(n)] for j in range(n)] c = 1 for i in range(n): for j in range(n): arr[i][j] = c c += 1 return arr # Driver Code n = 5 arr = makeArray(n) show(arr, n) # This code is contributed by avanitrachhadiya2155
C#
// C# program to distribute n^2 // numbers to n people using System; class GFG{ static int[,] solve(int[,] arr, int n) { // 2D array for storing the final result int[,] ans = new int[n, n]; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { // Using modulo to go to the firs // column after the last column ans[i, j] = arr[j, (i + j) % n]; } } return ans; } static void show(int[,] arr, int n) { int[,] res = solve(arr, n); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { Console.Write(res[i, j] + " "); } Console.WriteLine(); } } // Making a 2D array containing numbers static int[,] makeArray(int n) { int[,] arr = new int[n, n]; int c = 1; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) arr[i, j] = c++; } return arr; } // Driver code static void Main() { int n = 5; int[,] arr = makeArray(n); show(arr, n); } } // This code is contributed by divyeshrabadiya07
Javascript
<script> // Javascript program to distribute n^2 numbers to n people function solve(arr, n) { // 2D array for storing the final result let ans = new Array(n); // Loop to create 2D array using 1D array for (var i = 0; i < ans.length; i++) { ans[i] = new Array(2); } for (let i = 0; i < n; i++) { for (let j = 0; j < n; j++) { // using modulo to go to the firs // column after the last column ans[i][j] = arr[j][(i + j) % n]; } } return ans; } function show(arr, n) { let res = solve(arr, n); for (let i = 0; i < n; i++) { for (let j = 0; j < n; j++) { document.write(res[i][j] + " "); } document.write("<br/>"); } } // making a 2D array containing numbers function makeArray(n) { let arr = new Array(n); // Loop to create 2D array using 1D array for (var i = 0; i < arr.length; i++) { arr[i] = new Array(2); } let c = 1; for (let i = 0; i < n; i++) { for (let j = 0; j < n; j++) arr[i][j] = c++; } return arr; } // driver program let n = 5; let arr = makeArray(n); show(arr, n); // This code is contributed by susmitakundugoaldanga. </script>