网易互娱笔试第三题题解
Ax+By+Cz+Dw = N
ABCDN 和 xyzw都是非负整数,所以想要等式成立,必然yzw越大,x越小。yzw越小x越大。
所以Math.max(N - (B * y-possiblemax + C * z-possiblemax + D * w-possiblemax) / A,0) 是 x理论的可能最小值,x如果比这个值小,这个方程是不可能有满足条件的解的。
同理Math.min(x-possiblemax,N / A)是x理论的可能最大值,x如果比这个值大,这个方程也是不可能有满足条件的解。
上面的这个约束条件再加上最后遍历判断的时候直接判断 (N-(Ax+By+Cz)) % D == 0就行
ABCDN 和 xyzw都是非负整数,所以想要等式成立,必然yzw越大,x越小。yzw越小x越大。
所以Math.max(N - (B * y-possiblemax + C * z-possiblemax + D * w-possiblemax) / A,0) 是 x理论的可能最小值,x如果比这个值小,这个方程是不可能有满足条件的解的。
同理Math.min(x-possiblemax,N / A)是x理论的可能最大值,x如果比这个值大,这个方程也是不可能有满足条件的解。
上面的这个约束条件再加上最后遍历判断的时候直接判断 (N-(Ax+By+Cz)) % D == 0就行
全部评论
忍耐王
相关推荐
11-18 18:24
北京理工大学珠海学院 嵌入式软件工程师
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看3道真题和解析