ZOJ-1797

来源:互联网 发布:淘宝客托管 编辑:程序博客网 时间:2024/06/03 04:55

求最小公倍数,先求最大公约数,有经典辗转想除法,然后两数最小公倍数就是乘积再除最大公约数,传递过去就行

#include<stdio.h>static int gcd(int a, int b){if (!a)return b;return gcd(b % a, a);}int main(){int n, m;scanf("%d", &n);while (n--){scanf("%d", &m);int prev = 1, now;while (m--){scanf("%d", &now);prev = now / gcd(prev, now) * prev;}printf("%d\n", prev);}return 0;}


0 0
原创粉丝点击