HDU 2028 Lowest Common Multiple Plus

这道题对我的启发很大,虽然是一道很简单的题,但还是Wrong Answer了好几次。#include<stdio.h>int GCD(long n,long m){long i;if(n <m){long t = n;n = m;m = t;}for(i = m;i >=1;i –){if(n%i == 0&&m%i == 0)return i;}}int main(void){int a,t,max,min;int n;while(scanf("%d",&n)!=EOF){max = min = 1;a = max/min;while(n –){scanf("%d",&t);min = GCD(a,t);max = a * t;a = max/min;}printf("%d\n",a);}}代码是这样的。思路就是不断的两两求最小公倍数,但是觉得会错很疑惑,就去网上看了一些前辈的解答,发现他们都提到了公约数的位置的问题,即一定要先除公约数,否则如果先相乘的话会超出int的范围。

,离开之后,我想你不要忘记一件事:不要忘记想念我。

HDU 2028 Lowest Common Multiple Plus

相关文章:

你感兴趣的文章:

标签云: