/* *A Test of C# *Use Odd sieve to count or print the Primes. *T2370 1.73G, 2G Ram, 10^8 use 2.8s *winxos 2010-3-5 */ using System; namespace ConsoleApplication1 { class Test { static void Main() { Console.Write("Input N: "); int n = Convert.ToInt32(Console.ReadLine()); //Read Input and convert to Integer int begin = Environment.TickCount; Console.WriteLine(Run(n)); //The primes number below n Console.WriteLine("{0} ms.", Environment.TickCount - begin); //output the time Elapsed } static int Run(int n) { int total = 0; byte[] m = new byte[n / 2 + 1]; for (int i = 0; i <= n / 2; i++) //odd sieve, m[i] means 2*i+1 and m[0] store the prime 2 { m[i] = 1; } for (int i = 1; 4 * i * i <= n; i++) { if (m[i] == 1) { int step = 2 * i + 1; //the sieve step for (int j = i + step; 2 * j < n; j += step) { m[j] = 0; } } } for (int i = 0; i < n / 2; i++) { if (m[i] == 1) { total++; //Console.Write("{0} ",2*i+1); } } return total; } } }
D:\Program Files\Microsoft Visual Studio 9.0\VC>csc t.cs
适用于 Microsoft(R) .NET Framework 3.5 版的 Microsoft(R) Visual C# 2008 编译器 3
.5.30729.4926
版
版权所有(C) Microsoft Corporation。保留所有权利。
D:\Program Files\Microsoft Visual Studio 9.0\VC>dir
驱动器 D 中的卷是 Soft
卷的序列号是 78C6-FCB5
D:\Program Files\Microsoft Visual Studio 9.0\VC 的目录
2010/03/05 15:27 <DIR> .
2010/03/05 15:27 <DIR> ..
2010/02/17 00:20 <DIR> atlmfc
2010/02/17 00:19 <DIR> bin
2010/02/17 00:19 <DIR> ce
2010/02/17 00:20 <DIR> crt
2010/02/25 09:35 <DIR> include
2010/02/17 00:32 <DIR> lib
2010/02/17 00:20 <DIR> redist
2010/03/05 15:27 590 t.cs
2010/03/05 15:27 4,096 t.exe
2010/02/17 00:19 <DIR> VCAddClass
2010/02/17 00:19 <DIR> VCContextItems
2007/01/14 15:01 159 vcEmptyTestProject.vsz
2010/02/17 00:19 <DIR> VCNewItems
2010/02/17 00:20 <DIR> vcpackages
2010/02/17 00:19 <DIR> VCProjectDefaults
2010/02/17 00:19 <DIR> vcprojectitems
2010/02/17 00:21 <DIR> vcprojects
2010/02/17 00:19 <DIR> VCResourceTemplates
2010/02/17 00:19 <DIR> vcsmartdeviceprojectdefaults
2005/01/06 07:51 1,247 vcvarsall.bat
2010/02/17 00:21 <DIR> VCWizards
D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 100000
9592
16 ms.
D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 1000000
78498
16 ms.
D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 10000000
664579
249 ms.
D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 100000000
5761455
2792 ms.
---------------------------the output ends here--------------------------
今天翻看了一下C#的语法,可以发现基本和C++一样,不过使用起来更简单,更强大,
以上的程序编译出来大小只有4K,已经算比较小了,
C#的框架非常类似于JAVA,那个经典的public static void main
C#中多线程的使用也非常的简单,
GUI中可以直接使用GDI+进行图形绘制,
很不错的一个语言。
winxos 2010-3-5
转载于:https://blog.51cto.com/winxos/330875