列出1~1000质数程式

Home Home
引用 | 编辑 tutelar
2007-05-22 04:27
楼主
推文 x0
这是小弟自己写出来列出质数的程式
Po上来给大家参考参考
若还有可以修改或更精简的
麻烦指教一番~
感激^^

static void Prime() //第七题
{
int D = 0;
Console. ..

访客只能看到部份内容,免费 加入会员



献花 x1
引用 | 编辑 ety
2007-06-02 07:03
1楼
  
回圈可以再少几次唷!

想想看~ 除了2, 还有哪个质数是双数? 应该没有才对...^^

1跟2可以直接输出不用判断, 然后3开始, 以 i += 2 来执行!

ex: for (int i = 3; i < 1000; i += 2)

献花 x1
引用 | 编辑 a5266290x
2008-05-23 03:09
2楼
  
这样应该更快八!
    static void Main(string[] args)
    {
        bool N = true;
        string Str = "2 ";
        Int32 number = 2;

        Console.Write("{0,5}","1");
        for (int i = 3; i <= 3000; i++)
        {
          string[] StrEnd = Str.Split();

          for (int k = 0; k < StrEnd.GetUpperBound(0); k++)
          {
            N = true;
            if (i % Convert.ToInt32(StrEnd[k]) == 0)
            {
                N = false;
                break;
            }

          }
          if (N == true)
          {
            Str = Str + Convert.ToString(i) + " ";
            Console.Write("{0,5}", Convert.ToString(i));
            number += 1;
          }
        }
        Console.WriteLine();
        Console.WriteLine ("质因数个数"+Convert .ToString (number ));


    }

献花 x0
引用 | 编辑 jrhau520
2009-09-17 14:39
3楼
  
我是写这样子 =ˇ= 分享一下 新手上路学习中 表情

class Program
  {
    static void Main(string[] args)
    {
        for (int i = 2; i <= 1000; i++)
        {
          for (int j = 2; j <= i; j++)
          {
            if (i == j)
                Console.WriteLine("{0}", j);
            else if (i % j == 0)
                break;
            else
                continue;
          }
        }
        Console.ReadLine();
    }
  }

献花 x0
引用 | 编辑 Kizuna
2009-09-17 22:28
4楼
  
复制程式
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("2 is prime\n");
            for (int p = 3; p <= 1000; p+=2)
            {
                bool Is = true;
                for (int i = 2; i <= Math.Sqrt((double)p); i++)
                    if (p % i == 0)
                    {
                        Is = false;
                        break;
                    }
                if (Is)
                    Console.Write(p + " is prime\n");
            }

            Console.ReadLine();
        }
    }
}


献花 x0
引用 | 编辑 jerry520
2012-04-07 18:00
5楼
  
目前数学家虽然没有求值数的公式 , 但是却有检验是否为值数的技术

就是利用费马(Pierre de Fermat)定理来认定

后来由工程师Miller-Rabin改良技术 , 让确认质数的效率提高

去看看我的找质数网站

http://ho520.myweb.hinet.net/

可以让你求出任何100位数内的大质数

献花 x0
引用 | 编辑 iamboss123
2014-01-12 14:34
6楼
  
其实可以穷举 呵呵

献花 x0