Trang chủ Tin Học Lớp 9 sos C++ nhe! Câu 1 (2,5 điểm): SỐ PHẢN NGUYÊN...

sos C++ nhe! Câu 1 (2,5 điểm): SỐ PHẢN NGUYÊN TỐ Số nguyên dương N gọi là số phản nguyên tố nếu bản thân N và các số tạo thành từ việc xóa đi những chữ số bên

Câu hỏi :

sos C++ nhe! Câu 1 (2,5 điểm): SỐ PHẢN NGUYÊN TỐ Số nguyên dương N gọi là số phản nguyên tố nếu bản thân N và các số tạo thành từ việc xóa đi những chữ số bên phải của N đều không phải là số nguyên tố. Ví dụ: - Số 9426 là số phản nguyên tố vì 9426; 942; 94; 9 đều không phải là số nguyên tố. - Số 3752 không phải là số phản nguyên tố vì 3752; 375 không phải là số nguyên tố nhưng 37 và 3 là số nguyên tố. Yêu cầu: Kiểm tra các số nguyên dương a, b, c có phải là số phản nguyên tố hay không? Dữ liệu vào: File văn bản PNT.INP gồm một dòng duy nhất ghi ba số nguyên a, b, c (1 a, b, c 109 ) mỗi số cách nhau một khoảng trắng. Dữ liệu ra: File văn bản PNT.OUT gồm 3 dòng có cấu trúc như sau: + Dòng 1: ghi 1 nếu a là số phản nguyên tố, ghi 0 nếu a không là số phản nguyên tố. + Dòng 2: ghi 1 nếu b là số phản nguyên tố, ghi 0 nếu b không là số phản nguyên tố. + Dòng 3: ghi 1 nếu c là số phản nguyên tố, ghi 0 nếu c không là số phản nguyên tố. Ví dụ: PNT.INP PNT.OUT 33 292 46 0 0 1 174 68 290 0 1 0 Giới hạn dữ liệu: 40% test với 1 a, b, c < 100; 40% test với 10 3 < a, b, c < 106 ; 20% test với 107 < a, b, c 109

Lời giải 1 :

#include <bits/stdc++.h>

using namespace std;

bool check(long long n)
{
    if (n < 2)
        return false;
    for (long long i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
            return false;
    }
    return true;
}

bool phannt(long long a)
{
    while (a != 0)
    {
        if (check(a))
            return false;
        a /= 10;
    }
    return true;
}

int main()
{
    freopen("PNT.inp", "r", stdin);
    freopen("PNT.out", "w", stdout);
    long long a, b, c;
    cin >> a >> b >> c;
    cout << phannt(a) << '\n' << phannt(b) << '\n' << phannt(c);
    return 0;
}

Lời giải 2 :

#include <iostream>
using namespace std;
int main() {
    long long a;
    bool check;
    for (int p=0; p<3; p++) {
        
        cin >> a;
        check = false;
        while (a!=0) {
            
            if (a>=2) {
                for (int i=2; i*i<=a; i++) {
                    
                    if (a%i==0) {
                        check = true;
                        break;
                    }
                    
                }
                
            } else check = true;
            
            if (!check) {
                break;
            }
            a/=10;

            if (a!=0 && check) check=false;
        }
        
        cout << check << "\n";
        
    }
}

Bạn có biết?

Tin học 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. 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. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, chúng ta sắp phải bước vào một kỳ thi căng thẳng và sắp chia tay bạn bè, thầy cô. Áp lực từ kỳ vọng của phụ huynh và tương lai lên cấp 3 thật là lớn, nhưng hãy tin vào bản thân và giữ vững sự tự tin!

Nguồn :

sưu tập

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

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

Copyright © 2021 HOCTAPSGK