一、问题描述
本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N
(≤ 10),随后N
行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes
,否则输出No
。
输入样例:
2
11
111
输出样例:
Yes
No
二、设计思路
(1)从键盘输入数字的个数n;
(2)循环n次,接收n个数;
(3)设计判断素数的函数,如果是,返回true,对应输出YES,否则输出NO;
三、程序流程图
四、伪代码
五、代码
1 #include <iostream> 2 using namespace std; 3 #include <math.h> 4 bool isPrime(int m) 5 { 6 if (m == 0 || m == 1) 7 { 8 return false; 9 } 10 for (int i = 2; i<=sqrt(m); i++) 11 { 12 13 if (m % i == 0) 14 { 15 return false; 16 } 17 } 18 return true; 19 } 20 int main() 21 { 22 int a[10] = { 0 }; 23 int n = 0; 24 cin >> n; 25 for (int i = 0; i < n; i++) 26 { 27 cin >> a[i]; 28 if (isPrime(a[i])) 29 { 30 cout << "YES" << endl; 31 } 32 else 33 { 34 cout << "NO" << endl; 35 } 36 } 37 return 0; 38 }
六、总结
(1)判断是否为素数的函数可以用布尔数据类型,是则true,不是则false;
(2)math.h的头文件中包含求n次方,开根号等操作;
(3)开根号sqrt(n);
标签:输出,判断,正整数,int,素数,天梯,L1,028,根号 From: https://www.cnblogs.com/lian369/p/17372276.html