c++ problem
求最小公倍数
也许你已经会了求2个数字最小公倍数的方法,但是如果求多个数字的最小公倍数,你又能找到办法吗?
Input 多组,每一组首先是 一个n,然后是n个数字.
Output 求出每组n个数字的最小公倍数,输入数据保证结果不超过2^30
Sample Input
5
3 5 7 11 9
Sample Output 3465
#include"iostream.h"
int main()
{
int n,i,t,r,c;
long int p1,p2;
while(cin>>n)
{
cin>>p1;
for(i=1;i<n;i++)
{ cin>>p2;
c=p1*p2;
if (p1<p2)
{
t=p1;
p1=p2;
p2=t;
}
while(p2!=0)
{
r=p1%p2;
p1=p2;
p2=r;
}
p2=c/p1;
p1=p2;
}
cout<<p1<<endl;
}
return 0;
}
这是我自己编的一个程序,试了几组数据运行结果正确.为什么提交系统还是会显示答案错误?
帮忙看一下,哪里不对!