杭州电子科技大学OJ2028 最小公倍数
发布时间
阅读量:
阅读量
Problem Description
计算n个数值的最小公倍数。
Input
输入包含多个测试用例,每个测试用例以一个正整数n开头,随后是n个正整数。
Output
针对每组测试数据,输出其对应的最小公倍数,每个测试实例的输出单独占一行。可假设最终的输出结果为一个32位整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
最初想到的是最基础的方法,即从1开始依次对每个数值进行取余运算,直到所有数值的余数均为零为止。但提交后发现该方法存在超时问题。
随后对该方法进行了优化,首先确定一组数值中的最大值作为起始点,并逐步递增,再对每个数值进行取余运算,直至所有余数均为零。
#include<stdio.h>
int main()
{
int i, n, s[500], lcm;
while (scanf_s("%d", &n) != EOF)
{
lcm = 0;
for (i = 1; i <= n; i++)
{
scanf_s("%d", &s[i]);
if (lcm<s[i])
lcm = s[i];
全部评论 (0)
还没有任何评论哟~
