একটি অ্যারে দেওয়া আছে, এর থেকে ঠিক তিনটি উপাদানের সেট বের করতে হবে যাদের যোগফল 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}
অ্যালগরিদম
START Step 1 -> sum = k, i, j, k ডিক্লেয়ার Step 2 -> size = অ্যারে আকার Step 3 -> Loop i=0 to size-2 Loop j=i+1 to size-1 Loop k=j+1 to size IF arr[i]+arr[j]+arr[k] <= sum Print triplet End IF End Loops STOP
উদাহরণ
#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}