在C 中给定范围内计算素数的问题
Problem with calculating Primes within a given Range in C++
im试图创建一个执行各种数学操作的程序,我想从在给定范围内计算质数开始。但是,当我尝试执行代码时,它只是返回exit status -1
。该程序怎么了,我该如何解决?
#include <iostream>
#include <vector>
using namespace std;
void getPrimes(int min, int max) {
int range = max - min;
std::vector< int > possible_values;
for (int q = 0; q < range; q++) {
possible_values.push_back(min + q);
}
for (int i = 0; i < range; i++) {
int num_of_factors = 0;
int num = possible_values.at(i);
for (int c = 0; c < num; c++) {
if (num % c == 0) {
num_of_factors++;
}
}
if (num_of_factors == 0) {
std::cout << num << endl;
}
}
}
int main() {
int min, max;
std::cout << "min: ";
std::cin >> min;
std::cout << "max: ";
std::cin >> max;
getPrimes(min, max);
}
此循环应从2开始,因为:
-
c%0
是未定义的行为 -
每个数字%1是0
for (int c = 2; c < num; c++) { if (num % c == 0) { num_of_factors++; } }
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- C++理解计算字符变量的问题
- 使用指针计算堆栈问题的大 O 表示法
- 使用 cblas_dgemm 计算伪逆的问题
- 我的C++级数计算程序出了什么问题?被困了好几个星期
- 成绩计算问题
- 关于骰子概率计算的一个C++问题
- 我想知道我将如何实现 + 运算符重载.我已经从我上一个问题中计算出 += 运算符重载
- 在 64 位 Linux armv8 计算机上编译 32 位二进制文件时遇到问题
- 在C 中显示小数点,计算问题
- 计算最大成对产品C 的问题
- 优化递归问题以计算超级数字
- 传递数组和计算平均C++的问题
- 冰雹序列C 函数需要计算序列的长度.无限循环问题
- 计算当前日期和用户输入日期问题之间的天数
- 关于 Eigen::MatrixXd 逐列计算的问题
- 谁可以帮助解释我的代码中出了什么问题.计算C ++中的数组
- 在C 中给定范围内计算素数的问题
- 我的逻辑有什么问题?尝试计算文件中包含特定字符的单词数