Trang chủ Tin Học Lớp 12 Nếu số tự nhiên a chia hết cho số tự...

Nếu số tự nhiên a chia hết cho số tự nhiên b thì ta nói b là ước số của a. Ví dụ: 20 có các ước số là 1, 2, 4, 5, 10, 20; số lượng ước của 20 là 6. Như vậy 20

Câu hỏi :

Nếu số tự nhiên a chia hết cho số tự nhiên b thì ta nói b là ước số của a. Ví dụ: 20 có các ước số là 1, 2, 4, 5, 10, 20; số lượng ước của 20 là 6. Như vậy 20 có số lượng ước là chẵn. Yêu cầu: Cho số tự nhiên n và dãy số tự nhiên x1, x2,,xn. Đếm xem có bao nhiêu số có số lượng các ước là chẵn, bao nhiêu số có số lượng các ước là lẻ. Dữ liệu: Vào từ tệp văn bản DEMUOC.INP gồm: Dòng 1: ghi số tự nhiên n (1 n 100). n dòng tiếp theo: mỗi dòng ghi một số tự nhiên xi (1 xi 1018). Kết quả: Đưa ra tệp văn bản DEMUOC.OUT gồm 2 dòng: Dòng 1: ghi số lượng các số có số ước là chẵn. Dòng 2: ghi số lượng các số có số ước là lẻ. DEMUOC.INP DEMUOC.OUT 4 2 3 4 5 3 1 (cần gấp làm bằng c++)

Lời giải 1 :

#include <bits/stdc++.h>

using namespace std;

bool scp(int n)
{
    int k=sqrt(n);
    if(k*k==n) return true;
    else return false;
}

int main()
{
    int n,x[100005],uocle=0,uocchan=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x[i];
    }
    for(int i=1;i<=n;i++)
    {
        if(scp(x[i])) uocle++;
        else uocchan++;
    }
    cout<<uocchan<<endl<<uocle;
}

image

Lời giải 2 :

#include <bits/stdc++.h>
using namespace std;
int countEvenDivisors(int num) {
    int count = 0;
    for (int i = 1; i <= num; i++) {
        if (num % i == 0) {
            count++;
        }
    }
    return count % 2 == 0 ? 1 : 0;
}

int main() {
    int n;
 //   freopen("DEM.inp","w",stdin);
  //  freopen("DEM.out","r",stdout);
    cin >> n;
    int evenCount = 0;
    int oddCount = 0;
    int number;

    for (int i = 0; i < n; i++) {
        cin >> number;
        if (countEvenDivisors(number)) {
            evenCount++;
        } else {
            oddCount++;
        }
    }

    cout << evenCount << endl;
    cout << oddCount << endl;
    return 0;
}

Chúc bạn lập trình tốt

Cre:nguyenanh21811

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 12

Lớp 12 - Năm cuối ở cấp trung học phổ thông, năm học quan trọng nhất trong đời học sinh, trải qua bao năm học tập, bao nhiêu kỳ vọng của người thân xung quanh. Những nỗi lo về thi đại học và định hướng tương lai thật là nặng nề. Hãy tin vào bản thân, mình sẽ làm được và tương lai mới đang chờ đợi chúng ta!

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