hdu 1788
来源:互联网 发布:卧龙01灵宝进阶数据 编辑:程序博客网 时间:2024/06/05 15:45
我发现这种数论题做的人数远不如数据结构,模拟等题做的人数多。
这道题开始讲的是中国剩余定理,但是最终解题和中国剩余定理没有太大的关系。
题意:一个正整数 n 除以 Mi 余 Mi + a.求最小的数。
那么 也就是说 : n%Mi=Mi-a;
====>>> n%Mi+a=Mi
所以(n +a )mod Mi 就等于0
那么就是要求最小公倍数~~;
附上代码: //要AC 得把int 换成 long long
#include <iostream>
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int n,a;
while(cin>>n>>a)
{
if(n==0&&a==0)break;
int temp,ans=1;
for(int i=0;i<n;i++)
{
cin>>temp;
ans=ans*temp/gcd(ans,temp);
}
cout<<ans-a<<endl;
}
return 0;
}
0 0
- hdu 1788
- hdu 1788
- hdu 1788
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- OBJECTIVE-C中nsstring的writetofile atomically参数解释
- c++ const,引用,STL容器
- Swift语言从天而降,能否掀起新一轮的科技革命?
- C语言学习随笔
- 动态规划+滚动数组 -- POJ 1159 Palindrome
- hdu 1788
- 用sql 注销远程脚本
- Fibonacci数列 3
- 爱上了我的司机(2)
- Handler中的一些总结
- B - Adding Reversed Numbers(4.2.1)
- [leetcode] Maximum Subarray
- 常用变量缩写对照表
- Linux 系统信息及运行状态监控