Trang chủ Tin Học Lớp 10 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...
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 (làm bằng lập trình c++ mình cần gấp )

Lời giải 1 :

#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

Lời giải 2 :

Để kiểm tra xem 1 số có số ước chẵn hay lẻ, ta chỉ cần kiểm tra số đó có phải là bình phương của 1 số hay không, nếu có thì số đó có ước là lẻ, còn không thì có ước là chẵn.

$\\$

#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;
}

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 10

Lớp 10 - Năm đầu tiên ở cấp trung học phổ thông, chúng ta sẽ có nhiều bạn bè mới đến từ những nơi khác nhau. Ngôi trường mới, xa nhà hơn, mở ra một thế giới mới với nhiều điều thú vị. Hãy mở lòng đón nhận và tận hưởng những trải nghiệm mới!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK