Chúng tôi được cung cấp một số N. Mục đích là tìm các số chia hết cho X chứ không chia hết cho Y và nằm trong phạm vi [1, N].
Hãy cùng hiểu với các ví dụ.
Đầu vào
N=20 X=5 Y=20
Đầu ra
Numbers from 1 to N divisible by X not Y: 2
Giải thích
Only 5 and 15 are divisible by 5 and not 10.
Đầu vào
N=20 X=4 Y=7
Đầu ra
Numbers from 1 to N divisible by X not Y: 5
Giải thích
Numbers 4, 8, 12, 16 and 20 are divisible by 4 and not 7.
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
-
Chúng tôi lấy một số nguyên N.
-
Hàm chia hết XY (int x, int y, int n) trả về số lượng các số từ 1 đến N chia hết cho X và không chia hết cho Y.
-
Lấy số lượng biến ban đầu là 0 cho những số như vậy.
-
Dải số theo chiều ngang bằng cách sử dụng vòng lặp for. i =1 đến i =n
-
Bây giờ, đối với mỗi số i, hãy kiểm tra xem (i% x ==0 &&i% y! =0), nếu số gia tăng là true.
-
Trả lại kết quả là số lượng.
Ví dụ
#include <bits/stdc++.h> using namespace std; int divisibleXY(int x, int y, int n){ int count = 0; for (int i = 1; i <= n; i++) { if(i%x==0 && i%y!=0 ) { count++; } } return count; } int main(){ int N = 100; int X=6, Y=8; cout <<"Numbers from 1 to N which are divisible by X and not Y: "<< divisibleXY(X,Y,N); return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Numbers from 1 to N which are divisible by X and not Y: 12