LightOJ1024 Eid 高精度乘單精度

2021-07-23 16:41:33 字數 651 閱讀 2590

題目大意:

給你n個數,讓你求他們的最小公倍數;

題目解析:

預處理把每個數的因數都分離出來,相同的因數取最大的,最小公倍數就是所有因數的最高次方相乘;

ac**:

#include#include#include#includeusing namespace std;

const int maxn = 100010;

int ans[maxn], cnt[maxn], len;

int fun(int x,int y)

void multiply(int fact)

int tmp = ans[len];

while(tmp)

}int main()

}ans[0] = len = 1;

for(int i = 2;i <= 10000;i ++) if(cnt[i]) multiply(fun(i, cnt[i]));

printf("case %d: ", ++case);

for(int i = len - 1;i > 0;i --) printf("%d", ans[i]);

printf("%d\n", ans[0]);

}return 0;

}

高精度乘高精度

c a b a b均是高精度數 比如a 156,b 3,求a b 很容易知道答案是468,怎樣算的呢?首先讓3 6 18,然後向進一位,並且這位只保留8 讓3 5 進製1 16,然後向前進一位,並且這位只保留6 讓3 1 進製1 4,此時不向前進製,保留4 所以最終答案是468 通過這個例子我們再來...

高精度乘高精度

思路 用vector表示大整數,整數的低位存在陣列索引的低位 a x b c其中c的每一位 如第3位 是由a和b的相應位相乘累加,處理後得到 如 1 2,2 1 include using namespace std const int demical 10 void input string s,...

大數相乘「高精度乘低精度」和「高精度乘高精度」

二 高精度乘高精度 如下 由於計算機的儲存位元組有限,所以不能完整表示乙個很大整數的精確值,這時候就得用到其他的方法,稱之為高精度演算法。這裡的高精度乘法主要指按位模擬乘法,實際上就是模擬乘法的過程,也就是筆算的過程。高精度乘低精度,即乙個大數與乙個小於10000的數相乘,大數使用字串來進行儲存,較...