Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम: योग k से कम या बराबर होने वाले ट्रिपलेट्स प्रिंट करें

तत्वों के सेट के साथ एक ऐरे दिया गया है और कार्य है ठीक तीन तत्वों वाले उन सेट्स को ढूंढना जिनका योग k से कम या बराबर हो।

इनपुट - arr[] = {1, 2, 3, 8, 5, 4}

आउटपुट - सेट → {1, 2, 3} {1, 2, 5} {1, 2, 4} {1, 3, 5} {1, 3, 4} {1, 5, 4} {2, 3, 5} {2, 3, 4}

इसमें, पहला कार्य ऐरे के आकार की गणना करना है जिसके आधार पर i का फॉर लूप size-2 तक, j का फॉर लूप size-1 तक और k का फॉर लूप size तक पुनरावृति करता है।

एल्गोरिदम

शुरुआत
चरण 1 -> int वेरिएबल sum को k (जैसे 10), i, j, k घोषित करें
चरण 2 -> size को ऐरे के आकार के रूप में घोषित और प्रारंभ करें: sizeof(arr)/sizeof(arr[0])
चरण 3 -> लूप i = 0 से size-2 तक
    लूप j = i+1 से size-1 तक
        लूप k = j+1 से size तक
            यदि arr[i] + arr[j] + arr[k] <= sum
                arr[i], arr[j], arr[k] प्रिंट करें
लूप समाप्त
रुकें

उदाहरण

#include <stdio.h>

int main(int argc, char const *argv[]) {
    int arr[] = {1, 2, 3, 8, 5, 4};
    int sum = 10;
    int i, j, k;
    int size = sizeof(arr) / sizeof(arr[0]);
    for (i = 0; i < size - 2; i++) {
        for (j = i + 1; j < size - 1; j++) {
            for (k = j + 1; k < size; k++) {
                if (arr[i] + arr[j] + arr[k] <= sum)
                    printf("{%d, %d, %d}\n", arr[i], arr[j], arr[k]);
            }
        }
    }
    return 0;
}

आउटपुट

{1, 2, 3}
{1, 2, 5}
{1, 2, 4}
{1, 3, 5}
{1, 3, 4}
{1, 5, 4}
{2, 3, 5}
{2, 3, 4}
  1. - Python: मैट्रिक्स से अधिकतम योग वाली शीर्ष K पंक्तियाँ निकालना

    Python में नेस्टेड सूची (मैट्रिक्स) से पंक्तियों के योग की गणना करके, अधिकतम योग वाली शीर्ष K पंक्तियाँ निकालना। उदाहरण my_list = [[2, 4, 6, 7], [2, 4, 8], [45], [1, 3, 5, 6], [8, 2, 1]] print(मूल मैट्रिक्स:, my_list) my_key = 3 print(fशीर्ष K = {my_key} पंक्तियाँ) # विधि 1: sorted() + lambda (मू

  1. - Python में सरणी से उन ट्रिपलेट्स की संख्या जांचें जिनका योग लक्ष्य से कम है

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक मान target है, हमें उन ट्रिपल (i < j < k) की संख्या ढूंढनी है जो मौजूद हैं जैसे कि nums[i] + nums[j] + nums[k] < target। तो, यदि इनपुट nums = [-2, 6, 4, 3, 8], target = 12 जैसा है, तो आउटपुट 5 होगा, क्योंकि ट्रिपलेट्स हैं: [-2,6,4], [-2,6,3],

  1. - Python में K से कम दो योग

    मान लीजिए हमारे पास पूर्णांकों की एक सरणी A है और दूसरा पूर्णांक K दिया गया है। हमें अधिकतम S ढूंढना है जैसे कि i < j के साथ A[i] + A[j] = S और S < K मौजूद हो। यदि ऐसा कोई i, j मौजूद नहीं है जो इस समीकरण को संतुष्ट करता हो, तो -1 लौटाएं। इसलिए उदाहरण के लिए यदि A = [34,23,1,24,75,33,54,8] और K = 60,