藍橋杯 ADV-189 演算法提高 連線乘積
問題描述
192這個數很厲害,用它分別乘以1、2、3,會得到:
192 x 1 = 192
192 x 2 = 384
192 x 3 = 576
把這三個乘積連起來,得到192384576,正好是一個1~9的全排列
我們把上面的運算定義為連線乘積:
m x (1 … n) = k(其中m > 0 且 n > 1,對於上例,m = 192、n = 3、k = 192384576)
即k是把m分別乘以1到n的乘積連線起來得到的,則稱k為m和n的連線乘積。
輸出格式
每個k佔一行
樣例輸出
顯然,結果中應包含一行:
192384576
#include <iostream> using namespace std; int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int main() { int a, b, c, ans; cin >> a >> b >> c; ans = a * b / gcd(a, b); ans = ans * c / gcd(ans, c); cout << ans; return 0; }ofollow,noindex" target="_blank">❤❤點選這裡 -> 訂閱PAT、藍橋杯、GPLT天梯賽、LeetCode題解離線版❤❤
