Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 这是新的。素数函数练习建议_C++ - Fatal编程技术网

C++ 这是新的。素数函数练习建议

C++ 这是新的。素数函数练习建议,c++,C++,如果这不是问这个问题的最佳地点,请告诉我最佳地点。在我最近写的一本书中,我做了一个练习,要求用main测试从2到20的所有数字,并将结果打印在单独的行上。它希望我在main中使用素数函数和for循环。我被困住了,这就是我目前所拥有的 (这是修订后的代码,我仍在努力使其正常工作。无法确定问题所在。) #包括 #包括 使用名称空间std; 整数素数(整数x); int main(){ int i; 对于(i=2;i变化 到 改变 到 改变 到 改变 到 #包括 使用名称空间std; bool isP

如果这不是问这个问题的最佳地点,请告诉我最佳地点。在我最近写的一本书中,我做了一个练习,要求用main测试从2到20的所有数字,并将结果打印在单独的行上。它希望我在main中使用素数函数和for循环。我被困住了,这就是我目前所拥有的

(这是修订后的代码,我仍在努力使其正常工作。无法确定问题所在。)

#包括
#包括
使用名称空间std;
整数素数(整数x);
int main(){
int i;
对于(i=2;i变化

改变

改变

改变

#包括
使用名称空间std;
bool isPrime(int n){
如果(n%2==0)返回false;
int m=3;
而(m*m
#包括
使用名称空间std;
bool isPrime(int n){
如果(n%2==0)返回false;
int m=3;
而(m*m
#包括
使用名称空间std;
bool isPrime(int n){
如果(n%2==0)返回false;
int m=3;
而(m*m
#包括
使用名称空间std;
bool isPrime(int n){
如果(n%2==0)返回false;
int m=3;

而(m*m表达式
i%x
i
除以
x
的剩余部分,因为
i
i%x
始终等于
0

您必须将表达式更改为
x%i==0
,以检查
x
是否可被
i
整除,从而使其不是素数

此外,仅当
x%i==0
时,您必须添加
if
以返回
false
。因此:

if (x % i == 0){
    return false;
}

表达式
i%x
i
除以
x
的其余部分,因为
i
i%x
始终等于
0

您必须将表达式更改为
x%i==0
,以检查
x
是否可被
i
整除,从而使其不是素数

此外,仅当
x%i==0
时,您必须添加
if
以返回
false
。因此:

if (x % i == 0){
    return false;
}

表达式
i%x
i
除以
x
的其余部分,因为
i
i%x
始终等于
0

您必须将表达式更改为
x%i==0
,以检查
x
是否可被
i
整除,从而使其不是素数

此外,仅当
x%i==0
时,您必须添加
if
以返回
false
。因此:

if (x % i == 0){
    return false;
}

表达式
i%x
i
除以
x
的其余部分,因为
i
i%x
始终等于
0

您必须将表达式更改为
x%i==0
,以检查
x
是否可被
i
整除,从而使其不是素数

此外,仅当
x%i==0
时,您必须添加
if
以返回
false
。因此:

if (x % i == 0){
    return false;
}

对于
sqrt
和“;”在素数函数的decellaton中 以下是工作代码:

#include <iostream>
#include <cmath>
using namespace std;

int prime(int x);
int main() {
    int i;


    for(i=2; i <= 22; i++)
        cout << prime(i) << endl;

    return 0;
}

int prime(int x) {
    int i;
    int y= sqrt((double)x);
    for(i=2; i <= y; ++i) {
        if (x % i == 0)
        return false ;
    }
    return true;
}
#包括
#包括
使用名称空间std;
整数素数(整数x);
int main(){
int i;

对于(i=2;i您缺少
sqrt
和“;”在素数函数的decellaton中 以下是工作代码:

#include <iostream>
#include <cmath>
using namespace std;

int prime(int x);
int main() {
    int i;


    for(i=2; i <= 22; i++)
        cout << prime(i) << endl;

    return 0;
}

int prime(int x) {
    int i;
    int y= sqrt((double)x);
    for(i=2; i <= y; ++i) {
        if (x % i == 0)
        return false ;
    }
    return true;
}
#包括
#包括
使用名称空间std;
整数素数(整数x);
int main(){
int i;

对于(i=2;i您缺少
sqrt
和“;”在素数函数的decellaton中 以下是工作代码:

#include <iostream>
#include <cmath>
using namespace std;

int prime(int x);
int main() {
    int i;


    for(i=2; i <= 22; i++)
        cout << prime(i) << endl;

    return 0;
}

int prime(int x) {
    int i;
    int y= sqrt((double)x);
    for(i=2; i <= y; ++i) {
        if (x % i == 0)
        return false ;
    }
    return true;
}
#包括
#包括
使用名称空间std;
整数素数(整数x);
int main(){
int i;

对于(i=2;i您缺少
sqrt
和“;”在素数函数的decellaton中 以下是工作代码:

#include <iostream>
#include <cmath>
using namespace std;

int prime(int x);
int main() {
    int i;


    for(i=2; i <= 22; i++)
        cout << prime(i) << endl;

    return 0;
}

int prime(int x) {
    int i;
    int y= sqrt((double)x);
    for(i=2; i <= y; ++i) {
        if (x % i == 0)
        return false ;
    }
    return true;
}
#包括
#包括
使用名称空间std;
整数素数(整数x);
int main(){
int i;


对于(i=2;i)您面临的问题是什么?花絮:您需要在第一个
int prime(int x)
后加一个分号。您已在正确的位置发布,但最好总是提供尽可能多的信息,例如,解释您的程序显示的(不正确)行为和/或复制+粘贴任何错误消息。说“我卡住了”这意味着阅读问题的人必须浪费时间来理解你的意思。提示:如果你想在循环中执行一些测试,你需要类似于
if
语句的东西。@user3148250,还有一个性能建议:
i*i
i快得多你面临的问题是什么?花絮:你需要一个分号在第一次
int prime(int x)
之后。您发布的位置正确,但最好始终提供尽可能多的信息,例如,解释您的程序显示了什么(不正确)行为和/或复制并粘贴任何错误消息。说“我卡住了”这意味着阅读问题的人必须浪费时间来理解你的意思。提示:如果你想在循环中执行一些测试,你需要类似于
if
语句的东西。@user3148250,还有一个性能建议:
i*i
i快得多你面临的问题是什么?花絮:你需要一个分号在第一次
int prime(int x)
之后。您发布的位置正确,但最好始终提供尽可能多的信息,例如,解释您的程序显示了什么(不正确)行为和/或复制并粘贴任何错误消息。说“我卡住了”这意味着阅读问题的人必须浪费时间来理解你的意思。提示:如果你想在循环中执行一些测试,你需要类似于
if
语句的东西。@user3148250,还有一个性能建议:
i*i
i快得多你面临的问题是什么?花絮:你需要一个分号在第一个
intprime(intx)
之后。您已经在正确的位置发布了,但是