行星连珠:最小公倍数

求,代码
行星。的公转周期是指行星绕恒星转动一圈所需要的时间。达纳星系中一共有N颗行星。第i颗行星的公转周期为ai天。设这N颗行星在第X天排成一线,构成行星连珠。请问这n颗行星下一次在同一位置构成行星连珠是第几天?
输入第一行,一个整数n,行星数目
第二行,n个整数,表示恩颗行星的公转周期。

第3行一个整数X,表示行星连珠的现象在第x天出现。

输入:
5
3 4 2 6 5
3
输出
63

只需要求这N个数的最小公倍数,也就是

int lcm(int x,int y) {//最小公倍数 
  return x*y/__gcd(x,y);
}
int main() {
  //读入
  int ans=lcm(a[1],a[2]);
  for(int i=3;i<=n;i++) {
    ans=lcm(ans,a[i]);
  }
  cout<<ans+x<<endl;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632