齿轮啮合(语言-c++)

齿轮啮合
题目描述
有一组n个齿轮互相啮合,已知各齿轮的齿数, 问在转动过程中同时啮合的各齿到下次再同时啮合时,各齿轮分别转过了多少圈?

输入格式
第一行,整数n,表示有n个齿轮(n<=30);

第二行,}n个齿轮的齿数(小于30)。

输出格式
n行,按顺序输出n个齿轮转动的圈数。

样例
输入数据
3
6 8 9
输出数据
12
9

#include
using namespace std;
int gcd(int a,int b) 
{    
    int r;    
    while(b>0)
    {        
        r=a%b;        
        a=b;        
        b=r;    
    }    
    return a;
}
int main()
{
    int n;
    int a[40];
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    int m=a[1];
    for(int i=2;im=gcd(m,a[i]);
    }
    for(int i=1;i<=n;i++) cout<

输入数据
3
6 8 9
输出数据
0
0
0

这题其实就是在求最小公倍数
gcd函数看上去没什么问题
main函数没贴全