我有一个简短的程序可以打印10到999,999之间的所有阿姆斯壮数字。
当我在调试模式下运行时,它会在1秒内完成。
当我在没有调试的情况下运行时,会打开两个命令窗口。当第二个最终关闭时,输出显示在第一个上(这大约需要12秒)。但是,如果我从任务管理器中删除第二个窗口;完整输出显示在第一个窗口中。
此外,运行直接.exe文件会导致与没有调试时运行相同的行为。
此外:当我运行直接的exe文件时,我得到大约100 MB的RAM使用率(据我所知,我不应该为这么小的程序)。
这是我的代码:
using System;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("ARMSTRONG NUMBERS FOUND FROM 10 THROUGH 999999\n");
int total_armstrong = 0;
for (int i = 10; i < 1000000; i++)
{
int temp = i;
int k;
int total = 0;
for (k = 0; temp != 0; k++) //runs only 6 times maximum gives me the exponent to use below
temp /= 10;
temp = i;
while (temp != 0) //runs only 6 times maximum
{
total += (int)Math.Pow(temp % 10, k); //calculates the value of each digit raised to the exponent calculated above
temp /= 10;
}
if (total == i)
{
Console.WriteLine(total);
total_armstrong++;
}
}
Console.WriteLine("\nTOTAL NUMBER OF ARMSTRONG NUMBERS FOUND WAS " + total_armstrong);
}
}
运行时的外观图像: 右侧关闭后,输出显示在左侧窗口中
答案 0 :(得分:0)
我最终重新安装了Visual Studio / Windows,问题解决了。最终核选项总能解决问题。