Liệt kê các số chia hết cho 3 nhưng không chia hết cho 5 nhỏ hơn n

Lập trình C++

Bài 3. Nhập số nguyên dương n. Liệt kê các số chia hết cho 3 nhưng không chia hết cho 5 nhỏ hơn hoặc bằng n. Ví dụ:  

LIETKE.INP

LIETKE.OUT

25

3 6 9 12 18 21 24

Để liệt kê các số chia hết cho 3 nhưng không chia hết cho 5 nhỏ hơn n, ta có thể sử dụng thuật toán sau:

  1. Khởi tạo một biến i bằng 3, đây là số đầu tiên chia hết cho 3 nhưng không chia hết cho 5.
  2. Sử dụng vòng lặp while để duyệt qua các số từ i đến n-1.
  3. Trong mỗi lần lặp, kiểm tra xem số hiện tại có chia hết cho 3 nhưng không chia hết cho 5 hay không.
  4. Nếu có, in số đó ra.
  5. Tăng giá trị của i lên 3 và tiếp tục vòng lặp.

Dưới đây là mã giả của thuật toán trên:

i = 3
while i < n:
    if i % 3 == 0 and i % 5 != 0:
        print(i)
    i += 3

Dưới đây là một ví dụ về cách liệt kê các số chia hết cho 3 nhưng không chia hết cho 5 nhỏ hơn n bằng ngôn ngữ lập trình C++:

#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "Nhap n: ";
    cin >> n;

    for (int i = 3; i < n; i += 3) {
        if (i % 5 != 0) {
            cout << i << " ";
        }
    }

    return 0;
}

Ở đây, chương trình sử dụng một vòng lặp for để duyệt qua các số từ 3 đến n-1 với bước nhảy bằng 3. Trong mỗi lần lặp, chương trình kiểm tra xem số hiện tại có chia hết cho 5 hay không bằng cách sử dụng toán tử % để lấy phần dư của phép chia i cho 5. Nếu phần dư khác 0, tức là i không chia hết cho 5, chương trình in số đó ra màn hình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *