简单的数学函数不起作用

Phi*_*aun 0 c++ math

我对c ++很新,但我正在尝试建立一个非常简单的c ++项目.您可以在下面找到目前的代码.但我遇到的麻烦是数学函数p = n^2-8n+7;.有什么建议我怎么能改进它?

#include <iostream>
#include <stdio.h> 
using namespace std;

int main() {

/* Variable Declaration */
int p,n,i;

for (n=0; n<100; n++) {

/* Math Function */
p = n^2-8n+7;

/* Check if prime */
for (i=2; i<p; i++) { 
    if (!(p%i)) break;
    else cout << "(" << n << "," << p << ");" << endl;
}

}

/* Ready */
printf("\n\n\a");
system("pause");
}
Run Code Online (Sandbox Code Playgroud)

par*_*mar 8

你需要改变

 n^2-8n+7;
Run Code Online (Sandbox Code Playgroud)

p = n * n - 8 *n + 7;
Run Code Online (Sandbox Code Playgroud)

你错过了*乘法,而不是^你要么需要多次两次或使用pow函数


Per*_*est 6

为了方便使用n*n而不是n^2. ^是按位xor运算符.


ATa*_*lor 5

运算符^不等于效能,而是二元运算符'XOR'.

对于n ^ 2,要么使用(n*n),要么使用更高的效力,预制的'pow'功能,如下所述:http://www.cplusplus.com/reference/clibrary/cmath/pow/

对于你的例子,那将是pow(n,2); 8n也不起作用,你需要将它完全写成'8*n'.