引用 | 编辑
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 |