First, there are some definitions:

A molecule is a graph, but each side can be multi-plicated.

An atom is a vertex. Atoms are distinguished by its degrees.

A bond is a side, but there is a double bond, triple bond, and so on.

n-bonded is an adjective which shows the atom has n bonds. n-ple bond is counted n times.

A molecule is alkanic is that the molecules doesn't have any multiple bonds or loops.

Here is my function:

OC(a_1, a_2, a_3, ... ,a_n) is a number of the molecules. Every single molecule has a_k k-bonded atoms for every k.

Here is some example. Below, I will write

H for 1-bonded atom.
O for 2-bonded atom.
N for 3-bonded atom.
C for 4-bonded atom.

OC(2)=1, because there is a molecule H-H.

OC(10,0,0,4)=2, because there are two graphs each of them have 4 C's and 10 H's:

  H H H H         H H H
  | | | |         | | |
H-C-C-C-C-H     H-C-C-C-H
  | | | |         | | |
  H H H H         H | H

More atoms make the number larger.