#include <iostream>
#include <cmath>
using std::cin;
using std::cout;
using std::endl;
int prime(int n)
{
int i;
if (n == 1) return 0; // zero- not prime
if (n == 2) return 1; // one- prime
for (i = 2; i <= ceil(sqrt(n)); i++) {
if (n % i == 0) return 0; // remainder is zero
}
return 1;
}
int main()
{
unsigned long n;
while (cin >> n) {
cout << prime(n) << endl;
}
}
我知道0表示不是素数,1表示素数。有人可以解释一下所有返回函数是如何实现的?
为什么不将cout << "0"
用于非素数而cout << "1"
用于素数?
答案 0 :(得分:1)
是的,您可以直接从该功能cout
。那是有效的。
但是当你创建一个数学函数时,return
的值更常规,所以调用它的代码可以随心所欲。它可以cout
,或将其保存到变量,或执行其他计算。
如果函数直接cout
结果,那么你就会陷入困境:它只能对结果做一件事。这是限制性的,没有任何好处。