正整数 a 和正整数 b 的最小公倍数,是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。 比如输入5和7,5和7的最小公倍数是35,则需要返回35。
区块链毕设网qklbishe.com为您提供问题的解答
正整数 a 和正整数 b 的最小公倍数,是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。
比如输入5和7,5和7的最小公倍数是35,则需要返回35。
本题数据范围不大,使用枚举可通过前 5 个点(第六个点会卡 1 ms)
方法一:直接枚举
// 不是满分,谨慎枚举 #include <bits/stdc++.h> using namespace std; int main(){ long long a,b,i; cin>>a>>b; for(i=1;i%a!=0||i%b!=0;i++){ // 如果 i 不是其中某个数的倍数,就继续枚举 // 纯枚举,这里什么也不用做 } cout<<i; return 0; }
方法二:两个数的最小公倍数=两个数的乘积÷两个数的最大公约数 (满分)
两个数较大时,可以改为 一个数÷两个数的最大公约数×另一个数,防止溢出。但本题数据范围小,不需要考虑溢出。
#include <bits/stdc++.h> using namespace std; int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); } int main(){ /* 读写优化,新手可忽略 ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); */ long long a,b; cin>>a>>b; cout<<a*b/gcd(a,b); return 0; }
编辑于 今天 10:02:02
以上就是关于问题正整数 a 和正整数 b 的最小公倍数,是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。 比如输入5和7,5和7的最小公倍数是35,则需要返回35。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训