LightOj-1024-Eid
来源:互联网 发布:如何正确看待体检数据 编辑:程序博客网 时间:2024/06/04 20:05
题目传送门
题意:求N个数的最小公倍数。
思路:结果比较大,需要用大整数去写。
#include <bits/stdc++.h>using namespace std;struct bigInt{ int num[2000], len; void clear() { len=0; memset(num, 0, sizeof(num)); } void print() { printf("%d",num[len]); for (int i = len-1; i > 0; i--) printf("%03d", num[i]); printf("\n"); }};int operator %(bigInt &b, int x){ int tmp = 0; for (int i = b.len; i > 0; i--) { tmp = (tmp*1000+b.num[i])%x; } return tmp;}void operator *=(bigInt &b, int x){ for (int i = 1; i <= b.len; i++) { b.num[i] *= x; } for (int i = 1; i <= b.len; i++) { if (b.num[i]>=1000) { b.num[i+1] += b.num[i]/1000; b.num[i] %= 1000; b.len = max(b.len, i+1); } }}int gcd(int x, int y){ if (y==0) return x; return gcd(y, x%y);}int main(void){ int T, cas=1; scanf("%d", &T); while (T--) { int n; scanf("%d", &n); bigInt b; b.clear(); b.len = 1; b.num[1] = 1; while (n--) { int x, y; scanf("%d", &x); y = gcd(x, b%x); x/=y; b*=x; } printf("Case %d: ",cas++); b.print(); } return 0;}
阅读全文
0 0
- LightOJ 1024 Eid
- lightoj 1024 Eid
- LightOJ 1024 Eid
- LightOJ 1024 Eid
- LightOj-1024-Eid
- Eid LightOJ
- LightOJ 1024 - Eid (高精度求n个数的LCM)
- lightoj 1024 Eid(求数字们的最小公倍数)
- Light 1024 - Eid (高精度)
- light 1024 Eid 大数除法+多个数的最小公倍数
- lightoj 1024
- lightoj 1024
- eID你了解多少?
- eID你了解多少?
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- 贝叶斯(Bayes)决策理论
- Two Sum
- hdu 5033(单调栈)
- Hibernate核心接口(包括接口的常用方法)和工作原理
- 数组和指针的区别
- LightOj-1024-Eid
- Andrew Ng's deeplearning Course1Week2 Programming Questions(编程题)
- Android 四大控件之 Activity 篇
- 制作.bin数据集
- c语言山迪的麻烦
- DHT11 底层代码记录 --STC15系列
- word的高级查找替换
- Trie树详解及其应用
- 解决mysql远程连服务器上的mysql报1130的错