
给定一个包含元素集合的数组,任务是找出包含三个元素且总和小于或等于 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中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号