Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm số trong khoảng có ước nhỏ nhất là K trong C++


Trong hướng dẫn này, ta sẽ thảo luận chương trình để tìm các số trong một khoảng có ước nhỏ nhất là K.

Cho khoảng [a, b]. Nhiệm vụ là đếm các số trong khoảng có ước nhỏ nhất (khác 1) bằng K.

Ví dụ

#include <bits/stdc++.h>
using namespace std;

bool if_prime(int k) {
    if(k <= 1) return false;
    for(int i = 2; i < k; i++)
        if(k % i == 0) return false;
    return true;
}

int check(int num, int k) {
    int flag = 1;
    for(int i = 2; i < k; i++) {
        if(num % i == 0) flag = 0;
    }
    if(flag == 1) {
        if(num % k == 0) return 1;
        else return 0;
    }
    return 0;
}

int findCount(int a, int b, int k) {
    int count = 0;
    if(!if_prime(k)) return 0;
    else {
        for(int i = a; i <= b; i++) {
            if(check(i, k)) count++;
        }
    }
    return count;
}

int main() {
    int a = 2020, b = 6300, k = 29;
    cout << findCount(a, b, k);
    return 0;
}

Kết quả

28