Trang chủ Tin Học Lớp 8 Cho 2 số nguyên dương a và b (a<b). Hãy cho biết có bao nhiêu số chia hết cho 2...
Câu hỏi :

Cho 2 số nguyên dương a và b (a<b). Hãy cho biết có bao nhiêu số chia hết cho 2 hoặc chia hết cho 3 có trên đoạn từ số a đến số b. Dữ liệu vào: Từ tệp CH23.INP gồm một dòng chứa 2 số nguyên dương a và b Kết quả: Ghi ra tệp CH23.OUT kết quả đếm được Ví dụ: CH23.INP CH23.OUT 10 20 7 Giải thích: Từ số 10 đến số 20 có 7 số thỏa mãn đề bài là: 10; 12; 14; 15; 16; 18; 20 Giới hạn: - Có 70% test tương ứng với 70% điểm có dữ liệu đầu vào thỏa mãn 0 < a < b < 106 - Có 30% test tương ứng với 30% điểm có dữ liệu đầu vào thỏa mãn 106 < a < b < 1012

Lời giải 1 :

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll sum(ll a,ll b, ll s)
{
    return b/s-(a-1)/s;
}

int main()
{
    ll a,b;
    cin>>a>>b;
    cout<<sum(a,b,2)+sum(a,b,3)-sum(a,b,6);
}

Lời giải 2 :

Thuật toán: Ta đếm tổng số số hạng chia hết cho 2 và số số hạng chia hết cho 3 rồi trừ đi số số hạng chia hết cho BCNN(2,3) (Vì có số chia hết cho cả 2 và 3 nên được đếm 2 lần)

#include <bits/stdc++.h>

using namespace std;

long long dem(long long a,long long b, long long n)
{
    return b/n-(a-1)/n;
}

int main()
{
    long long a,b;
    cin>>a>>b;
    cout<<dem(a,b,2)+dem(a,b,3)-dem(a,b,6);
}

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 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK