ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจำนวนกลุ่มที่เป็นไปได้ที่มีขนาด 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