zoukankan      html  css  js  c++  java
  • 计蒜客--计算质数

       对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断。+输入包括一行,为一个整数N(1+<+N+≤1000),正是晓萌给出你让你判断的数字。+输出包括一行,如果晓萌给出的整数N为质数,那么输出YES;如果N不是质数,那么输出NO。+样例1+输入:+3+输出:+YES&oq=对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断。++输入包括一行,为一个整数N(1+<+N+≤1000),正是晓萌给出你让你判断的数字。++输出包括一行,如果晓萌给出的整数N为质数,那么输出YES;如果N不是质数,那么输出NO。

    样例1

    输入:

    3

    输出:

    YES

    我的解法

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
        int N,K;
        bool flag;
        while ( cin>>N  && (N!=1) && (N<1000) )
        {
            flag = false;
          K =sqrt(N);
          for (int i = 2; i <= K; ++i)//这一步我的计算量比作者的大
          {
                if (N%i ==0 )
                {
                    cout<<"NO"<<endl;
                    flag = true;
                    break;/* code */
                }
          }
          if (flag == false/* condition */)
          {
          cout<<"YES"<<endl;
    
          }
          //cout<<K<<endl;
        }
        return 0;
    }

    作者本人的解法

    #include "stdio.h"  
    #include "math.h"  
    int main(){  
        int Num, i;  
        scanf("%d", &Num);  
        if (Num == 2){
            printf("YES");
            return 0;
        }
        if (Num % 2 == 0){  //先判断是否为偶数,若偶数就直接输出NO并结束程序  
            printf("NO");  
            return 0;   //在主程序main()中使用return 0可以直接结束程序  
        }  
        //从3开始,到Num的算术平方根结束,步进为2 
        for (i = 3; i <= sqrt(Num); i += 2)   
            if (Num % i == 0){  
                printf("NO");  
                return 0;  
            }  
        printf("YES");  
        return 0;  
    }  
  • 相关阅读:
    增加新分类daily——“每天学了啥?”
    gcc选项中的编译过程
    一个带路径复制的perl脚本
    git
    mysql explain 详解
    CentOS Python2.4升级到Python2.7
    mongoDb查询
    linux php 扩展
    php-redis 扩展安装
    redis Linux的安装方法
  • 原文地址:https://www.cnblogs.com/bmyell1234/p/5189019.html
Copyright © 2011-2022 走看看