Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Trong số học, bội số chung nhỏ nhất (hay còn gọi tắt là bội chung nhỏ nhất, được viết tắt là BCNN, tiếng Anh: least common multiple hoặc lowest common multiple (LCM) hoặc smallest common multiple) của hai số nguyên ~a~ và ~b~ là số nguyên dương nhỏ nhất chia hết cho cả ~a~ và ~b~.
Hãy viết chương trình tìm bội chung nhỏ nhất của 2 số nguyên ~a~ và ~b~.
Input
- 2 số nguyên ~a~ và ~b~
Giới hạn:
- ~a * b \ne 0~
- ~-1000 \le a, b \le 1000~
Output
1 giá trị duy nhất là bội chung nhỏ nhất của ~a~ và ~b~
Sample
Input #1
1 3
Output #1
3
Input #2
-1 3
Output #2
3
Bình luận
include <bits/stdc++.h>
define ll long long
using namespace std;
int main()
{
long long a,b;cin>>a>>b;
cout<<abs((a*b)/(__gcd(a,b)));
return 0;
}
full test nha, nhớ bội nn là số dương
code full 10 test ngắn nhất nè mn
include <bits/stdc++.h>
define int long long
using namespace std;
int a,b; void solve() {
}
main() {
}
include <bits/stdc++.h>
define ll long long
using namespace std;
int main()
{
long long a,b;cin>>a>>b;
cout<<abs((a*b)/(__gcd(a,b)));
return 0;
}
này ngắn hơn nè
Chú ý cái bcnn lấy số dương. Full 10 test gửi các bạn tham khảo.
include <bits/stdc++.h>
using namespace std;
int ucln1(int a, int b){ if (b== 0){ return a; } return ucln1(b,a%b); }
int main(){ int a, b; cin >> a >> b; if (a%b == 0) { cout << a; } else { int bcnn = abs((a*b)/ucln1(a,b)); cout << bcnn; } return 0; }
using System;
namespace VL16TimBCNNCuaAVaB {
}C# (-)
Team Java đâu =]]z
DENO :
#include <stdio.h> #include <math.h> #include <stdlib.h> int gcd(int a,int b){ if(a==0||b==0){ return a+b; } else{ while(b!=0){ int r=a%b; a=b; b=r; } return a; }
} int main(){ int a,b; scanf("%d %d",&a,&b); int t=abs(a*b/gcd(a,b)); printf("%d",t); }
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
hết cứu
lấy giá tuyệt đối là ra
case 6 là gì vậy mọi người
Sao em khong nop bai duoc vay admin :(, bao loi IE
Các bạn chỉ cần check a == 1 && b == -1 hoặc a == -1 && b == -1 rồi in ra -1, các trường hợp còn thì in lcm(a, b) như bình thường. Hơi ảo ma nhưng đây là test của web thì tuân theo vậy
theo mình cứ tính ucln r chia cho tích của 2 số vừa nhập thêm trị tuyệt đối nếu số âm là acept đỡ dài
include <iostream>
include <cmath>
int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; }
int lcm(int a, int b) { return (a * b) / gcd(a, b); }
int main() { int a, b; std::cin >> a >> b;
if (a * b == 0 || std::abs(a) > 1000 || std::abs(b) > 1000) { return 0; }
int result = lcm(a, b); std::cout << result << std::endl;
return 0; } lỗi ở đâu vậy ạ, em sai bắt đầu ở test 4
testcase 4 hai so deu am day a
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.