判断一个正整数是否为素数

£神魔★判官ぃ 2022-10-11 00:55 341阅读 0赞
  • 时间限制: 1 Sec 内存限制: 128 MB

题目描述

对于正整数N(N<1000000),如果N只能被1和N整除,则N为素数(质数),否则N为合数。

例如:自然数7,只能被7(它自己)和1整除,所以7是素数。
又如,自然数6,可以被1、2、3、6整除,所以6不是素数。

输入

输入一个正整数N(N<1000000)

样例输入

  1. 2
  2. 73
  3. 119

样例输出

  1. Yes
  2. Yes
  3. No

【Solution】

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int i,n,sum=0;
  5. scanf("%d", &n);
  6. if(n>1){
  7. for(i=2;i<n;i++){
  8. if(n%i==0)
  9. sum++;
  10. }
  11. if(sum!=0)
  12. printf("No\n");
  13. else
  14. printf("Yes\n");
  15. }
  16. else printf("No\n");
  17. }

【Notice】

  1. 01不是质数。质数定义为在大于1的自然数中,
  2. 除了1和它本身以外不再有其他因数。合数指自然数中除了能被1和本身整除外,
  3. 还能被其他数(0除外)整除的数。与之相对的是质数,
  4. 1既不属于质数也不属于合数。最小的合数是4
  5. 其中,完全数与相亲数是以它为基础的。

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读

    相关 判断是否素数

    从键盘输入一个数,判断是否为素数。若是素数则输出字符“Y”’,不是的话则输出字符“N”。 (素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,如11、13