0
我有這個函數: int triplet(int * array,int size,int K){int i,j,k;數組三元組只顯示一次
for(i = 0; i < size-2; i++) {
for (j = i+1; j < size-1; j++) {
for (k = j+1; k < size; k++) {
/* Check if the sum of current triplets
is equal to "K" */
if(array[i] + array[j] + array[k] == K) {
printf("Triplet Found : %d, %d, %d\n", array[i], array[j], array[k]);
return 1;
}
}
}
}
/* No triplet found whose sum is equal to K */
return 0;}
但是,它只顯示了一個三元組,當三胞胎的方式太多,以及如何計算所有顯示三胞胎?有什麼更好的辦法,在函數中還是在int main(void)中有這個三元組?感謝您的建議
感謝您的幫助,但現在它以零爲K = 7它需要1 + 6 + 0,我想在沒有使用零,因爲那麼它不像三元組,但是雙重:D – blackroad
替換'if(array [i] + array [j] + array [k] == K){'with' int a = array [i],b = array [j],c = array [k];如果(a && b && c && a + b + c == K){'。 –
它的有趣,但現在它只顯示再次只有1三聯:D,但沒有這顯示更多的三胞胎,但像3 + 0 = 4三聯:D – blackroad