I would do it like this:
A = V1xV2;
sin_angle = length(A)/( |V1| |V2|);
angle = asin(sin_angle);
A_n = normalize(A);
Now you can build a quaternion with an angle and A_n.
q = (A_n.x i + A_n.y j + A_n.z k)*sin(angle/2) + cos(angle/2);
And use these formulas to get Euler angles.
source
share