• 计蒜客--计算质数


       对于大于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;  
    }  
  • 相关阅读:
    idHTTP使用代理IP
    Delphi的TRegistry注册表类方法详解
    判断WebBrowser是否加载完成.
    vs2010 安装记
    Delphi中destroy, free, freeAndNil, release用法和区别
    IdHTTP处理HTTP 302遇到的问题
    passcal 多线程例子,线程管理,创建,暂停,中止,等待等。。。
    passcal try嵌套
    passcal 编写多线程程序
    用一个 Byte 数表示 8 个复选框的选择状态
  • 原文地址:https://www.cnblogs.com/bmyell1234/p/5189019.html
Copyright © 2020-2023  润新知