当前位置:编程学习 > C#/ASP.NET >>

C# 判断质数和合数,并求出合数的约数

如何用C#判断质数和合数,并在窗体中显示合数的所有约数 --------------------编程问答-------------------- 请知道的高手指点 --------------------编程问答-------------------- 用循环! --------------------编程问答-------------------- 刷子法
long vTickCount = Environment.TickCount;
const uint cMaxNumber = 1000000;
bool[] vFlags = new bool[cMaxNumber]; // 都会初始为
uint[] vReturns = new uint[cMaxNumber / 2]; // 返回值
vReturns[0] = 2;
int vCount = 1;
for (uint i = 3; i < cMaxNumber; i += 2)
{
    if (!vFlags[i]) // 可以处理
    {
        vReturns[vCount++] = i;
        for (uint j = i; j < cMaxNumber; j += i)
            vFlags[j] = true; // 处理过了
    }
}
Console.WriteLine("返回{0}个结果, 耗时{1}毫秒", vCount, 
    Environment.TickCount - vTickCount);
//for (int i = 0; i < vCount; i++) // 输出的代码大家耗的时间都一样,不用计算
//    Console.Write("{0,10}", vReturns[i]);
Console.Read();
--------------------编程问答--------------------
引用 3 楼 usersname 的回复:
刷子法

C# code
long vTickCount = Environment.TickCount;
const uint cMaxNumber = 1000000;
bool[] vFlags = new bool[cMaxNumber]; // 都会初始为
uint[] vReturns = new uint[cMaxNumber / 2]; // 返回值
vReturns……


刚学,对刷子法很陌生 --------------------编程问答--------------------
引用 4 楼  的回复:
引用 3 楼 usersname 的回复:
刷子法

C# code
long vTickCount = Environment.TickCount;
const uint cMaxNumber = 1000000;
bool[] vFlags = new bool[cMaxNumber]; // 都会初始为
uint[] vReturns = new uint[cMaxNumbe……


 除了用刷子法   有没有更加简洁的方法啊 --------------------编程问答--------------------
引用 3 楼  的回复:
刷子法

C# code

long vTickCount = Environment.TickCount;
const uint cMaxNumber = 1000000;
bool[] vFlags = new bool[cMaxNumber]; // 都会初始为
uint[] vReturns = new uint[cMaxNumber / 2]; // 返回值
vRetur……


学习了 刷子法?!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,