使用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