齿轮啮合
题目描述
有一组n个齿轮互相啮合,已知各齿轮的齿数, 问在转动过程中同时啮合的各齿到下次再同时啮合时,各齿轮分别转过了多少圈?
输入格式
第一行,整数n,表示有n个齿轮(n<=30);
第二行,}n个齿轮的齿数(小于30)。
输出格式
n行,按顺序输出n个齿轮转动的圈数。
样例
输入数据
3
6 8 9
输出数据
12
9
#include<iostream>
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;i<n;i++)
{
m=gcd(m,a[i]);
}
for(int i=1;i<=n;i++) cout<<m/a[i]<<endl;
}
输入数据
3
6 8 9
输出数据
0
0
0