我正在寻找一种方法来确定是否存在方程的解,例如: 3n1 + 4n2 + 5n3 = 456,其中n1,n2,n3是正整数.
或者更一般:是零或正整数n1,n2,n3 ......解决方程k1n1 + k2n2 + k3n3 ... = m其中k1,k2,k3 ......和m是已知的正整数.
我不需要找到解决方案 - 只是为了确定是否存在解决方案.
编辑:
关于这个算法的实际使用:
在通信库中,我想在处理消息之前根据其大小决定给定消息是否有效.例如:我知道消息包含零个或多个3字节元素,零个或多个4字节元素和零个或多个5个字节元素.我收到了456字节的消息,我想在进一步检查其内容之前确定其有效性.当然,消息的标题包含每种类型的元素数量,但我想通过传递类似的东西在通信库级别进行第一次检查pair<MsgType,vector<3,4,5>>.