Lại là mình đây ạ, mình có đề bài đơn giản như này ạ:
Cho số tự nhiên n. Nhiệm vụ của bạn là tìm số nguyên nhỏ nhất chia hết cho 1, 2, …, n.
Input:
- Dòng đầu tiên đưa vào T là số lượng bộ test.
- T dòng tiếp theo mỗi dòng đưa vào một bộ test. Mỗi bộ test là một số tự nhiên n.
- T thỏa mãn ràng buộc: 1≤T≤10^4;
Output:
Đưa ra kết quả mỗi test theo từng dòng.
Lỗi Time Limited Exceed trong bài code này là sao ạ? Mọi người check code giúp mình với ạ. Mình không giỏi code lắm, mong mn chỉ giáo
Update chút là code mình đã fix lại tí nhưng giờ lại bị Wrong Answer :((
#include <iostream>
using namespace std;
typedef unsigned long int lli;
lli GCD (lli a, lli b) {
lli tmp;
while(b != 0) {
tmp = a % b;
a = b;
b = tmp;
}
return a;
}
lli LCM(lli a, lli b) {
return (a*b)/GCD(a,b);
}
int main () {
int t;
lli n;
cin>>t;
while (t--) {
cin>>n;
int temp=1;
for (int i=1;i<=n;i++) {
temp=LCM(temp,i);
}
cout<<temp<<endl;
}
return 0;
}