有谁知道一个机制,在编译时计算至少两个号的LCM(最小公倍数)和/或GCD(最大公约数)Ç(不是C++,我知道模板魔法可有)?
我通常使用GCC并回想一下,当所有输入都已知时,它可以在编译时计算某些值(例如:sin,cos等等).
我正在寻找如何在GCC中执行此操作(最好以其他编译器可以处理的方式)并希望相同的机制可以在Visual Studio中工作.
我事后想通了......
#define GCD(a,b) ((a>=b)*GCD_1(a,b)+(a请注意,根据整数的大小,您可能需要包含更多中间步骤(即GCD_9,GCD_10等).
我希望这有帮助!