编写一个函数primeNumber(),用来判断从键盘输入一个任意的自然数是不是素数,并将判断结果在主函数中输出。
17是素数
20不是素数
分析题目:如何求一个数是不是素数?我们知道,如果一个数的因数只有1和它本身的话,那么这个数就是素数,所以我们可以直接使用穷举让他除以2—它本身减一的数字就好了。
当然我们也可以只除到sqrt(n)可以大大的提升速度。
代码如下:
#include<iostream>
#include<stdio.h>
using namespace std;
//编写一个函数primeNumber(),用来判断从键盘输入一个任意的自然数是不是素数,并将判断结果在主函数中输出。
//17是素数
//20不是素数
int primenumber(int a) {
int b = 1;
for (int i = 2; i < a; i++) {
if (a % i == 0) {
b = 0;
}
}return b;
}
int main() {
int a; int b;
while (cin >> a) {
b = primenumber(a);
if (b == 0) {
cout << a << "不是素数" << endl;
}
else
cout << a << "是素数" << endl;
}
}