使用C ++中的化合价来查找一个分子是否可以由3个原子形成

众所周知,化合价数是定义一个原子必须与其他原子形成多少键的数。我们有三个原子的化合价数。我们必须检查他们是否可以制造一个分子。原子可以彼此形成多个键。因此,如果价数为2、4、2,则输出为YES。由于债券如下-

1 – 2,1 – 2,2 – 3,2 – 3

假设化合价数是a,b和c。考虑到c是最大的。然后我们有两种情况无法形成分子-

  • a + b + c是奇数。由于每个键将两个原子的化合价数减少1,所以总和为偶数

  • a + b <c,在这种情况下,会有一些未使用的连接器。

示例

#include<iostream>
using namespace std;
bool canMakeMolecule(int a, int b, int c) {
   if ((a + b + c) % 2 != 0 || a + b < c)
      return false;
   else
      return true;
}
int main() {
   int a = 2, b = 4, c = 2;
   if(canMakeMolecule(a, b, c)){
      cout << "They can form Molecule";
   } else {
      cout << "They can not form Molecule";
   }
}

输出结果

They can form Molecule