Trang chủ Tin Học Lớp 10 Liệt kê và đếm các số đảo ngược trong 1...

Liệt kê và đếm các số đảo ngược trong 1 đoạn số nguyên tố a,b (sử dụng sàng nguyên tố eratosthenes.) code c++ các bác giúp em với - câu hỏi 2806379

Câu hỏi :

Liệt kê và đếm các số đảo ngược trong 1 đoạn số nguyên tố a,b (sử dụng sàng nguyên tố eratosthenes.) code c++ các bác giúp em với

Lời giải 1 :

#include <iostream>
#include <algorithm>
#include <sstream>
#define all(x) (x).begin(), (x).end()
using namespace std;

const int lim = 1e6;
int a, b;
bool np[lim + 5];

string to_string(int n) {
 stringstream ss;
 ss << n;
 string s;
 ss >> s;
 return s;
}

bool palind(int n) {
    string s = to_string(n);
    string st = s;
    reverse(all(st));
    return s == st;
}

void sieve() {
    for (int i = 2; i <= b; i++) {
        if (!np[i]) {
            if (i >= a) {
                if (palind(i))
                    cout << i << ' ';
            }
            if (i * i > b) continue;
            for (int j = i * i; j <= b; j += i)
                np[j] = 1;
        }
    }
}

int main() {
    cin >> a >> b;
    sieve();
}

Thảo luận

-- kiểu j vừa khởi tạo đã ngoài giới hạn r thì k cần chạy nx
-- continue nó là không thực hiện lệnh dưới mà bạn, chứ còn khi mà i > b thì tự khắc nó dừng thôi :)
-- bạn không chú ý đến câu lệnh continue rồi :)
-- mình bt chứ
-- chỉ là bỏ đi cho đỡ lằng nhằng thôi
-- cuối cùng như sắp uýnh lộn r ấy sợ wá
-- nhưng trong vòng for nó sẽ kiểm tra hộ luôn cái i * i > b đấy đúng là thế nhưng nếu i > 46000 thì j = i * i sẽ vượt quá kiểu int -> lỗi số và sẽ có khả năng bị exit code :)) có thể bạn sẽ nói là sao ko dùng kiểu long long :)) đơn giản là mình không thí... xem thêm
-- chính xác hơn là i > sqrt(2^31) ~ 46341 :))

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 10

Lớp 10 - Năm thứ nhất ở cấp trung học phổ thông, năm đầu tiên nên có nhiều bạn bè mới đến từ những nơi xa hơn vì ngôi trường mới lại mỗi lúc lại xa nhà mình hơn. Được biết bên ngoài kia là một thế giới mới to và nhiều điều thú vị, một trang mới đang chò đợi chúng ta.

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK