zoukankan      html  css  js  c++  java
  • 素数算法问题

    素数这个问题其实说简单也简单,成立条件是1和自己本身,

    可是假如从算法角度来考虑,发现有些算法其实很耗用资源的

    下面几个方法希望读者可以用心体会算法的奇妙之处!

    /*2017年 12月2号 
    *判断素数的做法: 
    *定义:除了1和本身不存在其他约数的正整数位素数 
    */ 
    #include <stdio.h>
    #include <math.h>
    
     int IsPrime(int n);
    int main(void)
    {
        int a,t;
        printf("请您输入您需要输入的数字:");
        scanf("%d",&a);
        t = IsPrime(a);
        
        if(t == 0)
            printf("sorry!您输入的数字不为素数");
        else if(t == 1)
            printf("goodluck!您输入的数字为素数");
            
        return 0;
    
     } 
     
     //*最愚蠢的做法 
     
     int IsPrime(int n)
     {
         if(n < 2)
             return 0;//小于2肯定不是素数了
        for(int i = 2;i <= n-1;i++)
            {
                if(n%i == 0)
                    return 0;//n与所有 比 n 小的数相除,除的尽的话就是合数 
             } 
        
        return 1;//都除不尽,为素数 
         
     }
     //*/
     
     /******************
     1.方法一:一个数除以比它的一半还要大的数,一定除不尽,这个还需要判断?(愚蠢!!!) 
     
     *******************/
     
     /*小学生的做法 
     int IsPrime(int n)
     {
         if(n < 2)
             return 0;
         for(int i = 2;i <= n/2;++i)
         {
             if(n%i == 0)
                 return 0;
         }
         
         return 1;
     }
     //*/
     
     /*聪明小学生的做法 
     int IsPrime(int n)
     {
         if(n < 2)
             return 0;
         for(int i = 2;i <= sqrt(n);++i)
             {
                 if(n%i == 0)
                     return 0;
             }
             
            return 1;
      } 
      
    //*/
    
    
     
     
  • 相关阅读:
    第二次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第三次作业
    第二次作业
    第二次作业
    gravity
    card
  • 原文地址:https://www.cnblogs.com/healy/p/8341515.html
Copyright © 2011-2022 走看看