扩展欧几里德
peter_zhu01
你不要看别人做什么,10个漫评9个吐槽,你就做你擅长,做剩下的那一个。
展开
-
poj_2115-C Looooops
大概意思是:给你一个数A,若A不等于B则加C,如果超过B则mod 2^k,问你要多少次才能等于B。若不能等于B则输出“FOREVER”.题解;设x是循环次数,y是2^k被整除(A+xC)的值 由题意得: (A+xC)mod 2^k=B (A+xC)-y*2^k=B Cx=(B-A)(mod 2^k) 得出线性同余方程,然后用扩展欧几里德算法求出最小值x即为答案。 不知道的点:扩展欧原创 2017-06-28 11:09:50 · 231 阅读 · 0 评论 -
poj_2142_The Balance
题意:给你两个砝码的质量A,B。称量一个鬼东东的质量为K,问最少要多少砝码。题解:易得出 Ax-By=K,用扩展欧几里德算法去元,求出x,y。 求出x,y然后分成两组,求出x可以根据方程推出y,求出y可以根据方程推出x.然后取两组相加的最小值即可.代码:#include <stdio.h> #include <iostream> #include <algorithm>原创 2017-06-28 11:28:09 · 235 阅读 · 0 评论