Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับกลุ่มที่เป็นไปได้ทั้งหมดของขนาด 2 หรือ 3 ที่มีผลรวมเป็นทวีคูณของ 3 ใน C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจำนวนกลุ่มที่เป็นไปได้ที่มีขนาด 2 หรือ 3 ที่มีผลรวมเป็นทวีคูณของ 3

ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจำนวนกลุ่มที่เป็นไปได้ที่มีขนาด 2 หรือ 3 ที่มีผลรวมเป็นทวีคูณของ 3

ตัวอย่าง

#include<bits/stdc++.h>
using namespace std;
//returning count of pairs of
//2 or 3
int count_groups(int arr[], int n){
   int c[3] = {0}, i;
   int res = 0;
   for (i=0; i<n; i++)
      c[arr[i]%3]++;
   res += ((c[0]*(c[0]-1))>>1);
   res += c[1] * c[2];
   res += (c[0] * (c[0]-1) * (c[0]-2))/6;
   res += (c[1] * (c[1]-1) * (c[1]-2))/6;
   res += ((c[2]*(c[2]-1)*(c[2]-2))/6);
   res += c[0]*c[1]*c[2];
   return res;
}
int main(){
   int arr[] = {3, 6, 7, 2, 9};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Required number of groups are " << count_groups(arr,n) << endl;
   return 0;
}

ผลลัพธ์

Required number of groups are 8