Lowest Common Multiple Plus
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 51136 Accepted Submission(s): 21185
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6 3 2 5 7
Sample Output
1270
#include <stdio.h> int main() { int n,num, min,i,b,c; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d",&num); if(!i) min=num; if(num>min) { int temp; temp=min; min=num; num=temp; } b=min;c=num; while(b%c) { int t; t=b%c; b=c; c=t; } min=min/c*num;//如果写成(min*num)/c则会超出int范围 } printf("%d\n",min); } return 0; }