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