HDU1788 Chinese remainder theorem again 最小公倍数
2015-06-09 19:29
513 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1788
分析:由n%m=m-a,==>n%m+a=m,即,n+a≡0(mod m),其实(n+a)就是m的倍数,那么问题就变为了找出∑mi的最小公倍数,再减去a了。
实现代码如下:
分析:由n%m=m-a,==>n%m+a=m,即,n+a≡0(mod m),其实(n+a)就是m的倍数,那么问题就变为了找出∑mi的最小公倍数,再减去a了。
实现代码如下:
#include <iostream> #include <cstdio> using namespace std; typedef long long LL; LL gcd(LL a,LL b) { return !b?a:gcd(b,a%b); } int main() { int n,k,t; while(cin>>n>>k) { if(n==0&&k==0) break; LL ans=1; for(int i=0;i<n;i++) { cin>>t; ans=t/gcd(ans,t)*ans; } cout<<ans-k<<endl; } return 0; }
相关文章推荐
- Container With Most Water——双指针
- LeetCode之“动态规划”:Climbing Stairs
- org.tinygroup.beancontainer-IOC、AOP框架
- POJ1995 Raising Modulo Numbers 快速幂取模
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATI
- HCE AID选择策略测试
- http://blog.csdn.net/lenotang/article/details/2823230
- leetcode_Factorial Trailing Zeroes_easy
- Leetcode[219]-Contains Duplicate II
- 水题 Codeforces Beta Round #70 (Div. 2) A. Haiku
- sleep() 和 wait() 有什么区别?
- MacBook Air 使用技巧
- Genymotion首次运行程序出现错误Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
- sctp AIX
- Contains Duplicate III 重复数 堆实现
- Contains Duplicate II 重复数HASH
- Mesos单点Master集群部署和High Availability集群部署
- [Selenium]重写拖拽dragWidgetToElementContainner()
- 在main()之前,IAR都做了啥?
- mail.rc配置外网发邮件