B3941 [GESP样题 五级] 小杨的锻炼
小杨的班级里共有n名同学,每位同学都有各自的锻炼习惯。具体来说,第i位同学每隔ai天就会进行一次锻炼(也就是说,每次锻炼会在上一次锻炼的ai天后进行)。某一天,班上的n名同学恰好都来进行了锻炼。他们对此兴奋不已,想要计算出下一次所有同学都来锻炼,至少要过多少天。但他们不会计算,你能帮帮他们吗?
·
B3941 [GESP样题 五级] 小杨的锻炼
题目描述
小杨的班级里共有 nnn 名同学,每位同学都有各自的锻炼习惯。具体来说,第 iii 位同学每隔 aia_iai 天就会进行一次锻炼(也就是说,每次锻炼会在上一次锻炼的 aia_iai 天后进行)。某一天,班上的 nnn 名同学恰好都来进行了锻炼。他们对此兴奋不已,想要计算出下一次所有同学都来锻炼,至少要过多少天。但他们不会计算,你能帮帮他们吗?
输入格式
第一行一个整数 nnn,表示同学的数量。
第二行 nnn 个用空格隔开的正整数,依次为 a0,a1,…,an−1a_0, a_1, …, a_{n-1}a0,a1,…,an−1。
输出格式
输出一个整数,表示下一次所有同学都来锻炼,至少要过多少天。
输入输出样例 #1
输入 #1
3
1 2 3
输出 #1
6
输入输出样例 #2
输入 #2
4
2 4 8 16
输出 #2
16
输入输出样例 #3
输入 #3
4
2 4 6 8
输出 #3
24
说明/提示
样例 1 解释
第一位同学每天都锻炼;第二位同学每 222 天锻炼一次;第三位同学每 333 天锻炼一次。因此,666 天之后,三位同学都会进行锻炼。在此之前,第二位同学只会在第 2,42, 42,4 天进行锻炼,第三位同学只会在第 333 天进行锻炼,他们都无法相遇。
样例 2 解释
第四位同学每 161616 天锻炼一次,而 161616 天后也恰好是前三位同学锻炼的日子。
数据规模与约定
- 对 20%20\%20% 的数据,n=2n = 2n=2。
- 对 50%50\%50% 的数据,n=4n = 4n=4。
- 对 100%100\%100% 的数据,2≤n≤102 \leq n \leq 102≤n≤10,1≤ai≤501 \leq a_i \leq 501≤ai≤50。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n, a, ans = 1;
cin >> n;
for(ll i = 1; i <= n; i++){
cin >> a;
ans *= a / __gcd(ans,a); //除以最大公约数
}
cout << ans;
return 0;
}
更多推荐
所有评论(0)