问题 c#包含计算数字属性的方法吗?

玻璃灯

众所周知的成员
加入
2019年11月22日
消息
126
编程经验
Beginner
c#是否有方法会告诉我有关数字的某些属性?
我想知道一个关于一个数字的四件事,如果它是素数(如果是这样的素数),如果它的三角形(如果是这样的三角数),如果它是平方(并且它是什么平方),也是一样的斐波纳契序列。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
不,不属于C#语言。它也不会内置于.NET Framework中。您可以使用math.sqrt()并检查结果是否是一个整数,但没有任何内容将检查数字是否为广场。
 

玻璃灯

众所周知的成员
加入
2019年11月22日
消息
126
编程经验
Beginner
这是一个愚蠢的计划吗?

我要做的是写一个小程序,它将从0到我不知道的数字,无论如何。当它找到它会写的素数"PrimesList.添加(#);"到文本文件(#将是它找到的素质)。这样我就可以将这个巨大的列表粘贴到我的其他程序中,而无需手动编写(而无需每次程序开始时计算它)。

它会给我我要找的功能,不仅可以轻松测试一个数字是否是素数(通过在列表中找到它)我也可以在列表中使用它的索引来获得它的素数。

我也会为三角,正方形和纤维做这件事。我在做什么愚蠢的吗?或者,还有更好的方法?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
除非您正在执行序列生成以锻炼您的编程技能,否则为什么不仅下载您感兴趣的序列列表 整数序列的在线百科全书(OEIS®) 并将列表截断到适合C#本机数字类型范围的哪些内容?

接下来,您将如何确保列表始终与您的代码一起旅行?我建议将列表存放为组装中的资源。这是为了避免使用只需声明整数阵列的大型C#文件。授予的是,后一种想法遵循亲吻原则,前一个想法是.NET框架中的资源流是用于的:保存静态,只读的数据,并且偶尔访问的数据。 (资源也意味着处理本地化数据,但没有人说这是他们应该使用的唯一方法。请注意,程序图标存储为资源。)

欢迎来编程。您现在正在发现时间与空间权衡。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
就个人而言,我认为唯一一个值得下载列表的唯一一个是素数。检查完美的正方形,三角形数字和斐波纳契数可以代数检查。
 

玻璃灯

众所周知的成员
加入
2019年11月22日
消息
126
编程经验
Beginner
感谢您的建议,肯定会更好地下载列表。您是否确定您所谓的网站可以提供大清单?我搜索了前十个素数的一系列,但它只向我展示一个小名单,最多271。

编辑:写一个节目会给我这个列表的程序很简单,所以我会这样做,因为我无法弄清楚如何正确使用该网站。
 
Last edited:

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
在使用这一点之后,如果一个数字是素数,它会将我的笔记本电脑少于一个毫秒。从文件中加载素数列表并检查该号码是否在列表中进行更长时间。

考虑以下代码:
C#:
class Program
{
    bool IsPrime(int n)
    {
        if (n % 2 == 0)
            return false;

        int maxFactor = (int) Math.Sqrt(n);
        for(int i = 3; i <= maxFactor; i += 2)
        {
            if (n % i == 0)
                return false;
        }
        return true;
    }

    void Run()
    {
        var stopwatch = new Stopwatch();
        stopwatch.Start();
        bool isPrime = IsPrime(int.MaxValue);
        stopwatch.Stop();
        Console.WriteLine(stopwatch.ElapsedMilliseconds);
        Console.ReadKey();
    }

    static void Main()
    {
        new Program().Run();
    }
}
 
Last edited:
最佳 底部