gpt4 book ai didi

c++ - 模 : The Purpose of An Undefined Integer

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:31 28 4
gpt4 key购买 nike

我无法理解代码中几行的含义。我最近开始学习 C++,并阅读了 Bjarne Stroustrup 的“编程:使用 C++ 的原理和实践”。第四章有个问题让我很困惑,所以我在网上搜索了一个解决方案以供引用。这是我最终与本书结合使用的代码:

#include "std_lib_facilities.h"

bool prime(vector<int> store, int number) {
for (int i = 0; i < store.size(); ++i)
if (number%store[i] == 0) return false; //line that I don't understand
return true;
}

int main() {

int max;
cout << "Please enter a maximum number you want checked for being prime or not.\n";
cin >> max;
vector<int> store;
for (int n = 2; n <= max; ++n)
if (prime(store, n)) store.push_back(n);
for (int n = 0; n < store.size(); ++n)
cout << store[n] << "\n";

keep_window_open();
return 0;
}

该代码的目标是从 2 开始,找到低于并等于用户输入的所有质数。我理解这段代码中发生的所有事情,除了一行(由注释标注)。 这一行的 int “number” 的目的是什么,这里的数学原理是什么? 让我困惑的是“number” 没有值,但它除以当前元素的值。如果它等于零,那么理论上该陈述是错误的。有人可以向我解释一下吗?它与寻找素数有什么关系?我想知道在基本层面上发生了什么,这样我就可以成为一个更有效率的程序员并制定我自己的解决方案。谢谢。

最佳答案

prime 的上下文中,store 的质数目前小于 number

number 是质数当且仅当它不能被任何小于它的整数(除了 0 和 1)整除

关于c++ - 模 : The Purpose of An Undefined Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45830140/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com