25 条题解
-
-1
首先要知道什么是质数? 质数是除了1和本身之外没有其他约数的数。如2 、3、5都是质数,6不是质数,因为6除了约数1和6之外还有约数2和3。
其次要判断该数是否是质数,只需要判断该数n对2~n-1取余是否有余数即可。
- 如果有余数,则不是质数,立马输出当前被取余的数字i,停止循环;
- 如果循环结束后,i等于该数字,则说明数字n只有1和它本身的约数,即为质数,输出“Yes”。
int i=2; //i从2开始遍历,不用对1进行遍历,因为对1取余的余数为0,直接输出,结束循环 while(i<n) //从2遍历到n-1,不用对n进行遍历,对n取余的余数为0,直接输出,结束循环 { if(n%i==0) //如果n对当前数字i取余结果为0,则表示i是n其中的一个约数 { cout <<i; //输出i,即为这个数n大于1的最小约数 break; //跳出循环 } i++; //如果n对i取余不为0,让i自增,不断循环 } if(i==n) //如果循环结束后i等于n的话,表示n的约数只有1和n,则n是质数 { cout <<"Yes"; }
信息
- ID
- 62
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 3
- 标签
- 递交数
- 2045
- 已通过
- 1084
- 上传者