Nếu các phần tử được lưu trữ trong một mảng, thì chúng ta phải tìm
- Phần tử duy nhất còn thiếu trong mảng đã sắp xếp
- Nhiều phần tử bị thiếu trong mảng được sắp xếp
- Thiếu phần tử trong mảng chưa sắp xếp
Có thể có nhiều hơn một cách khả thi để tìm phần tử còn thiếu. Vì vậy, hãy xem xét phương pháp thứ nhất
Ở đây chúng tôi đã lấy một ví dụ về một mảng có kích thước 11. Đây là những số tự nhiên 'n' đầu tiên. Vì vậy, chuỗi bắt đầu từ 1 trở đi. Nếu bạn để ý mảng trên, 7 là phần tử còn thiếu. Bây giờ chúng ta phải tìm ra 7 còn thiếu trong chuỗi trên
Ta biết công thức của n số tự nhiên đầu tiên là. n [n+1] / 2. Vì vậy, nếu tôi có tổng cộng 12 phần tử là phần tử cuối cùng, chúng ta nên biết về phần tử cuối cùng. Tổng của n số tự nhiên đầu tiên có thể được biết bằng cách sử dụng – n [n+1] / 2. Chúng ta có thể sử dụng công thức này nếu chúng ta biết phần tử đầu tiên và phần tử cuối cùng. Vì vậy, tổng là
Vì vậy, tổng tất cả các phần tử có trong mảng phải là 78. Nếu không phải là 78 thì ít đi bao nhiêu, đó sẽ là yếu tố còn thiếu của chúng ta. Như vậy là chúng ta đã tính tổng bằng công thức, bây giờ chúng ta cộng từng phần tử của mảng và trừ đi số đó đi 78. Hãy xem nào
Dưới đây là đoạn mã giả để tìm tổng của từng phần tử trong mảng bằng phương pháp lặp
Mã giảsum = 0; for [int i = 0; i < 11; i++]{ sum = sum + C [i] }
Bây giờ chúng ta có tổng của mảng trong biến tổng của chúng ta. Vậy bây giờ làm thế nào để tính phần tử còn thiếu?
Phần tử bị thiếu = 78 – tổng
= 78 – 71
= 7
Vì vậy, đây là phương pháp đầu tiên để tìm phần tử đơn lẻ trong một mảng được sắp xếp
Mã đầy đủ bằng ngôn ngữ C#include #include struct List{ int C[15]; int size; int length; }; void Display[struct List list] { int i; printf["Elements are:\n"]; for [i = 0;i