在本教程中,我们将讨论一个程序,以查找因子为K的最小范围内的数字。
为此,我们将提供一个范围[a,b]。我们的任务是计算给定范围内最小因子为K的数字。
#include <bits/stdc++.h> using namespace std; //检查K是否为质数 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; } //检查是否有任何数可被K整除 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; } else return 0; } //计算可能的数字 int findCount(int a, int b, int k){ int count = 0; if (!if_prime(k)) return 0; else { int ans; for (int i = a; i <= b; i++) { ans = check(i, k); if (ans == 1) count++; else continue; } } return count; } int main(){ int a = 2020, b = 6300, k = 29; cout << findCount(a, b, k); return 0; }
输出结果
28