Trang chủ Tin Học Lớp 8 Cho hai số a và b trong đó a<=10^12,b<=10^250.Tìm ước chung lớn nhất của hai số a và b. Input:...
Câu hỏi :

Cho hai số a và b trong đó a<=10^12,b<=10^250.Tìm ước chung lớn nhất của hai số a và b. Input: Dòng đầu tiên đưa vào T là số lượng bộ test T dòng tiếp theo đưa các bộ test.Mỗi bộ test gồm hai dòng: Dòng đầu tiên đưa vào số a, dòng tiếp theo đưa vào số b. Các số T,a,b thoả mãn ràng buộc: 1<=T<=100;1<=a<=10^12;1<=b<=10^250 Output: Đưa ra kết quả mỗi test theo từng dòng Input 1 1221 1234567891011121314151617181920212223242526272829 Output 3 Code bằng C++ ạ, giúp mik với:>>

Lời giải 1 :

#include <bits/stdc++.h>
#define int long long
using namespace std;
int mod(string n, int a) {
    int res = 0;
    for (int i = 0; i < n.length(); i++)
        res = (res*10 + n[i] - '0') % a;
    return res;
}
int gcd(int a, int b) {
    if (b == 0) return a;
    return gcd(b, a % b);
}
int32_t main() {
    int a; string b;
    cin >> a >> b;
    cout << gcd(a, mod(b, a));
    return 0;
}

Bạn có biết?

Tin học là môn học về cách máy tính xử lý thông tin. Nó giúp bạn hiểu cách máy tính hoạt động và cách sử dụng chúng để giải quyết các vấn đề. Hãy sử dụng tin học để sáng tạo và đổi mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 8

Lớp 8 - Kiến thức ngày càng nhiều và áp lực cũng tăng. Hãy cân bằng giữa học và nghỉ ngơi để luôn giữ tinh thần tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Hoc Sinh 247