数论永远是个永恒的话题,我以前有看过,好像是2的n-1次幂有关

解决方案 »

  1.   

    int value =12312; 
    int len = value/2; 
    bool aa=false;
    for(int i=2;i <len;i++){ 
      if(value%i==0){ 
         aa=true; 
      } 

    if(aa)
     Console.WriteLine("合数")
    else
     Console.WriteLine("质数");
      

  2.   

    public bool IsZhiShu(int value)
    {
        if(value==2)
            return true;    for(int i=2; i<value; i++)
        {
           if(value%i == 0)
               return true;
        }    return false;
    }
      

  3.   

    public bool IsZhiShu(int value)
    {
        if(value==2)
            return true;    for(int i=2; i<value; i++)
        {
           if(value%i == 0)
               return false;
        }    return true;
    }
      

  4.   

    如果A,B互质;(A^(B-1))%B!=1,则B为合数,否则B极有可能为素数,也可能是伪素数.
      

  5.   

           这个,但是不能全部查出来 、、、例如13不行,但只要满足(((2 ^ (a - 1) - 1) % a) == 0)的就是质数。            int a = 3;
                if (((2 ^ (a - 1) - 1) % a) == 0)
                {
                    MessageBox.Show("true");
                }
                else MessageBox.Show("Hello");
      

  6.   

    public bool IsPrimeNumber(long value)
    {
        if (value == 2)
        {
            return true;
        }    for (long i = 2; i <= Math.Ceiling(Math.Sqrt(value)); i++)
        {
            if ((value % i) == 0)
            {
                return false;
            }
        }    return true;
    }
      

  7.   

    public bool IsPrimeNumber(long value)
    {
        if (value == 2)
        {
            return true;
        }    for (long i = 2; i <= Math.Ceiling(Math.Sqrt(value)); i++)
        {
            if ((value % i) == 0)
            {
                return false;
            }
        }    return true;
    }
    先判断n是不是偶数,
    然后i=2改成从3开始i++改成:i+=2效率会更好哈
      

  8.   


    哪里看来的?没有任何根据,我试了几组数据,都是返回true,无论是否互质。
      

  9.   


    import java.util.*; public class zhishu {     public static void main(String[] args) {         Scanner input = new Scanner(System.in);         String answer = "";         do {              int count = 0;              System.out.println("请输入您要判断的数:");              int num = input.nextInt();              for (int i = 1; i <= num; i++) {                    if (num % i == 0) {                        count++;                   }              }              if (count == 2) {                   System.out.print("这个数是质数");                            }else if(count == 1) {                   System.out.print("这个数既不是质数也不是合数");              } else {                   System.out.print("这个数是合数");              }              System.out.println("\n\n继续吗 (y/n)?");              answer = input.next();         } while (answer.equals("y"));         System.out.println("程序结束!");              } }
      

  10.   

    能不能得出这样的结论:
    不能被n^(1/2)+1以前的所有的质数整除的数就是质数
    但问题是怎么得出这样的东西:
    a. 
    n1=2
    n2=3
    n3=5
    n4=7
    n5=11
    n6=13
    nm=m表达式
      

  11.   

    测试这个函数,将会得到你要的结果,如果是素数,就显示为true        public static void test(int N)
            {
                int start = 2, limit = N/2;
                bool isprime = true;
                while (start < limit)
                {
                    if (N % start == 0)
                    {
                        isprime = false;
                        break;
                    }
                    else
                    {
                        start++;
                        limit = N / start;
                    }
                }
                Console.WriteLine(isprime);
            }
    基本原理是,一个非素数,至少应该拆分成两个数的乘积,那么我们只要找下是否存在这么两个数就够了,如果那个数是10000,极限就是100×100,也就是遍历100次,还是很快的,但要是换作二分法,你可是要遍历5000次,差距多大可想而知了吧。
      

  12.   

    我来优化下
    public bool IsZhiShu(int value)
    {
        if(value==2)
            return true;    for(int i=2; i<int.parse(Math.Sqrt(value)); i++)
        {
           if(value%i == 0)
               return false;
        }    return true;
    }
      

  13.   


    楼主又在造轮子
    不能被n^(1/2)+1以前的所有的质数整除的数就是质数
    这句话是数论里的一个推论,不过原话不是这个说的,意思一样。
    楼主,造轮子之前先看看书吧对于nm=m表达式
    这个全世界人都在寻找,楼主找到了,就可以获得菲尔兹奖了