c++ Hai số tự nhiên được gọi là nguyên tố tương đương nếu chúng có chung các ước số nguyên tố. Ví dụ như các số 75 và 15 là nguyên tố tương đương vì cùng có các ước nguyên tố là 3 và 5. Cho trước hai s...

ADS
thumb up 0
thumb down
Trả lời câu hỏi của ..;olm;ụ

Làm sao để có câu trả lời hay nhất?

  • Luôn có GIẢI THÍCH các bước giải
  • Không copy câu trả lời của Timi
  • Không sao chép trên mạng
  • Không spam câu trả lời để nhận điểm
  • Spam sẽ bị khóa tài khoản
ADS
CÂU TRẢ LỜI
avatar
Timi

15/04/2025

Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Dưới đây là một chương trình C++ để kiểm tra xem hai số tự nhiên M và N có phải là nguyên tố tương đương hay không. Chương trình này sẽ tìm các ước số nguyên tố của hai số và so sánh chúng. ```cpp #include <iostream> #include #include using namespace std; // Hàm để tìm các ước số nguyên tố của một số set primeFactors(int n) { set factors; // Kiểm tra số 2 while (n % 2 == 0) { factors.insert(2); n /= 2; } // Kiểm tra các số lẻ từ 3 đến sqrt(n) for (int i = 3; i * i <= n; i += 2) { while (n % i == 0) { factors.insert(i); n /= i; } } // Nếu n là một số nguyên tố lớn hơn 2 if (n > 2) { factors.insert(n); } return factors; } // Hàm kiểm tra xem hai số có nguyên tố tương đương hay không bool areCoprime(int M, int N) { set factorsM = primeFactors(M); set factorsN = primeFactors(N); // So sánh các ước số nguyên tố return factorsM == factorsN; } int main() { int M, N; cout << "Nhập số tự nhiên M: "; cin >> M; cout << "Nhập số tự nhiên N: "; cin >> N; if (areCoprime(M, N)) { cout << M << " và " << N << " là nguyên tố tương đương." << endl; } else { cout << M << " và " << N << " không phải là nguyên tố tương đương." << endl; } return 0; } ``` ### Giải thích chương trình: 1. **Hàm `primeFactors(int n)`**: Hàm này tìm các ước số nguyên tố của số `n` và lưu chúng vào một tập hợp (`set`). 2. **Hàm `areCoprime(int M, int N)`**: Hàm này gọi hàm `primeFactors` để lấy các ước số nguyên tố của `M` và `N`, sau đó so sánh chúng. 3. **Hàm `main()`**: Nhập hai số tự nhiên từ người dùng và kiểm tra xem chúng có phải là nguyên tố tương đương hay không. Bạn có thể biên dịch và chạy chương trình này để kiểm tra các số tự nhiên mà bạn muốn.
Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
avatar
level icon
tv7a2

15/04/2025

#include <iostream>
#include <set>
#include <cmath>

std::set<int> phanTichThuaSoNguyenTo(int n) {
   std::set<int> uocSoNguyenTo;
   if (n < 2) {
       return uocSoNguyenTo;
   }
   int d = 2;
   int temp = n;
   while (d * d <= temp) {
       if (temp % d == 0) {
           uocSoNguyenTo.insert(d);
           while (temp % d == 0) {
               temp /= d;
           }
       }
       d++;
   }
   if (temp > 1) {
       uocSoNguyenTo.insert(temp);
   }
   return uocSoNguyenTo;
}

bool kiemTraNguyenToTuongDuong(int m, int n) {
   if (m < 2 || n < 2) {
       return false;
   }
   std::set<int> uocSoNguyenToM = phanTichThuaSoNguyenTo(m);
   std::set<int> uocSoNguyenToN = phanTichThuaSoNguyenTo(n);
   return uocSoNguyenToM == uocSoNguyenToN;
}

int main() {
   int m, n;
   std::cout << "Nhap so tu nhien M: ";
   std::cin >> m;
   std::cout << "Nhap so tu nhien N: ";
   std::cin >> n;

   if (kiemTraNguyenToTuongDuong(m, n)) {
       std::cout << m << " va " << n << " la nguyen to tuong duong." << std::endl;
   } else {
       std::cout << m << " va " << n << " khong la nguyen to tuong duong." << std::endl;
   }

   return 0;
}

Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
ADS

Nếu bạn muốn hỏi bài tập

Các câu hỏi của bạn luôn được giải đáp dưới 10 phút

Ảnh ads

CÂU HỎI LIÊN QUAN

logo footer
FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
app store ch play
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved
gift-box
survey
survey
Đặt câu hỏi