📌  相关文章
📜  生成一个长度为 N 的唯一数组,其中所有子数组的总和可被 N 整除

📅  最后修改于: 2021-09-05 11:39:26             🧑  作者: Mango

给定一个整数N ,任务是创建一个长度为N的唯一元素的数组,使得所有子数组的和模N等于零。
例子:

方法:
我们可以观察到,对于可被N整除的所有子数组,数组的元素必须是N的倍数。
插图:

因此,为了解决这个问题,我们只需要打印{N, 2*N, 3*N, ….., N*N}来获得所需的数组。
下面是上述方法的实现:

C++
// C++ implementation of the
// above approach
 
#include 
using namespace std;
 
// Function to print the required
// array
void makeArray(int a[], int n)
{
    // Print the array
    for (int i = 1; i <= n; i++)
        cout << i * n << " ";
}
 
// Driver Program
int main()
{
    int N = 6;
    int arr[N];
    makeArray(arr, N);
}


Java
// Java program for the above approach
class GFG{
 
// Function to print the required
// array
static void makeArray(int a[], int n)
{
     
    // Print the array
    for(int i = 1; i <= n; i++)
       System.out.print(i * n + " ");
}
 
// Driver code
public static void main(String[] args)
{
    int N = 6;
    int arr[] = new int[N];
     
    makeArray(arr, N);
}
}
 
// This code is contributed by Pratima Pandey


Python3
# Python3 implementation of the
# above approach
 
# Function to print the
# required array
def makeArray(n):
     
    # Print Array
    for i in range(n):
        print((i + 1) * n, end =" ")
 
 
# Driver code
n = 6;
makeArray(n);


C#
// C# program for the above approach
using System;
class GFG{
 
// Function to print the required
// array
static void makeArray(int []a, int n)
{
     
    // Print the array
    for(int i = 1; i <= n; i++)
    Console.Write(i * n + " ");
}
 
// Driver code
public static void Main()
{
    int N = 6;
    int []arr = new int[N];
     
    makeArray(arr, N);
}
}
 
// This code is contributed by Code_Mech


Javascript


输出:
6 12 18 24 30 36

时间复杂度: O(N)
辅助空间: O(1)

如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live