首页 > 其他 > 详细

HDU 1788

时间:2014-09-01 12:32:43      阅读:271      评论:0      收藏:0      [点我收藏+]

必须MARK下:任何时候都要保持清醒头脑,不要被题目绕了。。

其实就是求最小公倍数。

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

__int64 v[20];

__int64 gcd(__int64 a,__int64 b){
	if(b==0) return a;
	return gcd(b,a%b); 
}

int main(){
	int k,a;
	while(scanf("%d%d",&k,&a)!=EOF){
		if(k==0&&a==0) break;
		for(int i=0;i<k;i++)
		scanf("%I64d",&v[i]);
		__int64 ans=v[0];
		for(int i=1;i<k;i++){
			ans=ans*v[i]/gcd(ans,v[i]);
		}
		printf("%I64d\n",ans-(__int64)a);
	}
	return 0;
}

  

HDU 1788

原文:http://www.cnblogs.com/jie-dcai/p/3948827.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!