我对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)
你需要改变
n^2-8n+7;
Run Code Online (Sandbox Code Playgroud)
至
p = n * n - 8 *n + 7;
Run Code Online (Sandbox Code Playgroud)
你错过了*乘法,而不是^你要么需要多次两次或使用pow函数
运算符^不等于效能,而是二元运算符'XOR'.
对于n ^ 2,要么使用(n*n),要么使用更高的效力,预制的'pow'功能,如下所述:http://www.cplusplus.com/reference/clibrary/cmath/pow/
对于你的例子,那将是pow(n,2); 8n也不起作用,你需要将它完全写成'8*n'.