Rumah >pembangunan bahagian belakang >C++ >Dalam pengaturcaraan C, tambahkan nombor terkecil pada tatasusunan supaya jumlah tatasusunan menjadi nombor genap

Dalam pengaturcaraan C, tambahkan nombor terkecil pada tatasusunan supaya jumlah tatasusunan menjadi nombor genap

王林
王林ke hadapan
2023-08-25 17:41:061137semak imbas

Dalam pengaturcaraan C, tambahkan nombor terkecil pada tatasusunan supaya jumlah tatasusunan menjadi nombor genap

Diberi tatasusunan, tambahkan nombor terkecil (sepatutnya lebih besar daripada 0) pada tatasusunan supaya jumlah tatasusunan menjadi nombor genap.

Input- 1 2 3 4,

Output- 2

Penjelasan - Jumlah tatasusunan ialah 10, jadi kita

2 untuk menambah nombor minimum

Kaedah 1: Kira jumlah semua elemen tatasusunan, kemudian semak sama ada jumlah itu adalah nombor genap, kemudian tambah nombor minimum sebagai 2, jika tidak tambah nombor minimum sebagai 1.

Input- 1 2 3 4,

Output- 2

Penjelasan-Jumlah tatasusunan ialah 10, jadi kita Tambahkan nombor 2 terkecil untuk menjadikan jumlahnya genap.

Contoh

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4};
   int n=4;
   int sum=0;
   for (int i = 0; i <n; i++) {
      sum+=arr[i];
   }
   if (sum % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

Kaedah 2 - Kira kiraan unsur ganjil dalam tatasusunan. Jika bilangan kejadian ganjil ialah nombor genap, kembalikan 2, jika tidak kembalikan 1.

Input - 1 2 3 4 5

Output - 1

Penjelasan- No. dalam tatasusunan ialah 3

Tambah nombor minimum 1 untuk menjadikan jumlahnya genap.

Contoh

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   int odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd += 1;
      }
   }
   if (odd % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

Kaedah 3 - Mengambil pembolehubah bendera (dimulakan kepada 0). Setiap kali kami menjumpai elemen ganjil dalam tatasusunan, kami melakukan operasi NOT(!) pada pembolehubah Boolean. Operator logik ini menyongsangkan nilai pembolehubah bendera (bermaksud jika 0, tukar pembolehubah kepada 1 dan sebaliknya).

Input- 1 2 3 4 5

Output- 1

Penjelasan- Pembolehubah dimulakan kepada 0.

Melintasi tatasusunan p>

1 ialah nombor ganjil dan pembolehubah berubah sebanyak 1.

2 ialah nombor genap dan

3 ialah nombor ganjil, pembolehubah berubah kepada 0.

4 ialah nombor genap

4 p>

5 ialah nombor ganjil, pembolehubah menjadi 1

Jika nilai pembolehubah ialah 1, bermakna terdapat nombor ganjil unsur ganjil, dan bilangan minimum elemen yang menjadikan jumlah unsur genap ialah tambah 1.

Jika tidak kuantiti minimum ialah 2.

Contoh

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   bool odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd = !odd;
      }
   }
   if (odd) {
      cout <<"1";
   } else {
      cout <<"2";
   }
   return 0;
}

Atas ialah kandungan terperinci Dalam pengaturcaraan C, tambahkan nombor terkecil pada tatasusunan supaya jumlah tatasusunan menjadi nombor genap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam