首頁 > 後端開發 > C++ > 在C程式中,列印出和小於或等於k的三元組

在C程式中,列印出和小於或等於k的三元組

WBOY
發布: 2023-09-07 08:37:27
轉載
1233 人瀏覽過

在C程式中,列印出和小於或等於k的三元組

給定一個包含元素集合的數組,任務是找出包含三個元素且總和小於或等於 k 的集合。

輸入 strong>− 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} p>

在此,第一個任務是計算數組的大小,取決於i 的for 迴圈迭代到size-2,j 的for 迴圈迭代到size-1,k 的for 迴圈迭代到size-1

演算法

START
Step 1 -> declare int variable sum to k (e.g. 10), i, j, k
Step 2 -> declare and initialise size with array size using sizeof(arr)/sizeof(arr[0])
Step 3 -> Loop For i to 0 and i<size-2 and i++
   Loop For j to i+1 and j<size-1 and j++
      Loop For k to j+1 and k<size and k++
         IF arr[i]+ arr[j] + arr[k] <= sum
            Print arr[i] and arr[j] and arr[k]
         End IF
      End Loop for
   End Loop For
Step 4 -> End Loop For
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}</p><p>",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}
登入後複製

以上是在C程式中,列印出和小於或等於k的三元組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板