Dados dos enteros positivos N y K , la tarea es generar una array que consta de N enteros distintos de modo que la suma de los elementos de cada subarreglo de la array construida sea divisible por K .
Ejemplos:
Entrada: N = 3, K = 3
Salida: 3 6 9
Explicación:
Los subarreglos del arreglo resultante son {3}, {6}, {3, 6}, {9}, {6, 9}, {3, 6, 9}. La suma de todos estos subarrayx es divisible por K.Entrada: N = 5, K = 1
Salida: 1 2 3 4 5
Enfoque: siga los pasos a continuación para resolver el problema:
- Dado que la suma de los elementos de cada subarreglo debe ser divisible por K , el enfoque más óptimo sería construir un arreglo en el que cada elemento sea un múltiplo de K .
- Por lo tanto, itere un ciclo de i = 1 a i = N y para cada valor de i , imprima K * i .
A continuación se muestra la implementación del enfoque anterior:
C++14
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to construct an array // with sum of each subarray // divisible by K void construct_Array(int N, int K) { // Traverse a loop from 1 to N for (int i = 1; i <= N; i++) { // Print i-th multiple of K cout << K * i << " "; } } // Driver Code int main() { int N = 3, K = 3; construct_Array(N, K); return 0; }
Java
// Java program to implement // the above approach import java.io.*; import java.util.*; class GFG { // Function to construct an array // with sum of each subarray // divisible by K static void construct_Array(int N, int K) { // Traverse a loop from 1 to N for (int i = 1; i <= N; i++) { // Print i-th multiple of K System.out.print(K * i + " "); } } // Driver Code public static void main(String[] args) { int N = 3, K = 3; construct_Array(N, K); } } // This code is contributed by code hunt.
Python3
# Python program for the above approach # Function to construct an array # with sum of each subarray # divisible by K def construct_Array(N, K) : # Traverse a loop from 1 to N for i in range(1, N + 1): # Pri-th multiple of K print(K * i, end = " ") # Driver Code N = 3 K = 3 construct_Array(N, K) # This code is contributed by splevel62.
C#
// C# program to implement // the above approach using System; public class GFG { // Function to construct an array // with sum of each subarray // divisible by K static void construct_Array(int N, int K) { // Traverse a loop from 1 to N for (int i = 1; i <= N; i++) { // Print i-th multiple of K Console.Write(K * i + " "); } } // Driver Code public static void Main(String[] args) { int N = 3, K = 3; construct_Array(N, K); } } // This code is contributed by 29AjayKumar
Javascript
<script> // JavaScript program for the above approach // Function to construct an array // with sum of each subarray // divisible by K function construct_Array(N, K) { // Traverse a loop from 1 to N for (let i = 1; i <= N; i++) { // Print i-th multiple of K document.write( K * i + " "); } } // Driver Code let N = 3, K = 3; construct_Array(N, K); // This code is contributed by todaysgaurav </script>
3 6 9
Complejidad temporal: O(N)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por aniket173000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA