题目:定义一个函数,判断一个整数是否为素数,如果是素数就返回“素数”,否则返回“非素数”。
思路:在解这个东西要考虑到两种情况。
第一种情况是数值大于2。那么我们就可以利用continue,通过i=2的值一直加到给出的数值-1,然后开始逐层相除余。如果除余为0的时候,那么就是非素数,直接return 0,break结束,反之,如果每次都没有给除余为0的话,那么就不会执行return 0,break这串代码了。然后对是否return 0这个信息进行判断是否为素数。
第二种情况,则是数值小于2。因为1和0以及负数都不是素数,所以只要给出一种if假设是小于2的话,那么就一定是非素数。
代码:
#include<iostream>
using namespace std;
int s(int a)
{
for (int i = 2; i < a; i++)
{
if (a % i != 0)
{
continue;
}
return 0;
break;
}
}
int main()
{
int a;
cin >> a;
if (s(a) == 0)
cout << "非素数";
else if (a < 2)
cout << "非素数";
else
cout << "素数";
}
测试案例: