小编Kad*_*ski的帖子

使用大整数时的CPU和/或RAM生产率

昨天我解决了一个考试问题,当发现一些非常有趣的东西时(至少对我而言).该程序用于阶乘(非常大),结果是数字末尾有多少个零(在某些情况下2500为零).所以我做了我所能做的,但发现时输入数字,如100 000它恰恰1;30 - 1;33min输出结果.我认为这是因为我的CPU(它不是很快).我已经将.exe发送给我的一些朋友尝试了,因为当我们谈论性能时他们有非常好的PC - 完全相同的结果(1;33min).

我的问题是为什么解决任务的时间是一样的.我知道有更好的方法来编写我的核心所以不会花这么长时间,但这对我来说非常重要,因为我作为初学者程序员可以理解.所以这是我的代码:

static void Main()
        {
            int num = int.Parse(Console.ReadLine()),
                zeroCounter = 0;
            BigInteger fact = 1;
            var startTime = DateTime.Now;

            Console.WriteLine();

            for (int i = 1; i <= num; i++)
            {
                fact *= i;
                Console.Write("\r{0}", DateTime.Now - startTime);
            }
            BigInteger factTarget = fact;
            while (factTarget % 10 == 0)
            {
                factTarget /= 10;
                zeroCounter++;
                Console.Write("\r{0}", DateTime.Now - startTime);
            }
            Console.WriteLine();
            Console.WriteLine("Result is number with …
Run Code Online (Sandbox Code Playgroud)

c# cpu

6
推荐指数
2
解决办法
202
查看次数

从char数组到字符串C#的特定(精确)字符

我刚刚在一个源代码中看到这样的事情:

char[] letters = { 'k', 'n', 'p', 's' };

    for (int d1 = 0; d1 < letters.Length; d1++)
    {
        for (int d2 = 0; d2 < letters.Length; d2++)
        {
            for (int d3 = 0; d3 < letters.Length; d3++)
            {
                for (int d4 = 0; d4 < letters.Length; d4++)
                {
                    string left = ""+ letters[d1] + letters[d2] + letters[d3] + letters[d4];
                }
           }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我真正想知道的是这究竟是多么string strName = "" +....有效.这些是""为了什么?我尽可能地看着,但没有找到答案.很抱歉,如果答案非常简单,我是编程新手,所以我将非常感谢您的理解.

c#

3
推荐指数
1
解决办法
495
查看次数

标签 统计

c# ×2

cpu ×1