当你处理繁重的计算时,当你需要使用原始CPU功率时,我担心C#的速度.
在计算方面,我一直认为C++比C#快得多.所以我做了一些快速测试.第一个测试计算素数<整数n,第二个测试计算一些pandigital数字.第二次测试的想法来自于:Pandigital Numbers
C#素数计算:
using System;
using System.Diagnostics;
class Program
{
static int primes(int n)
{
uint i, j;
int countprimes = 0;
for (i = 1; i <= n; i++)
{
bool isprime = true;
for (j = 2; j <= Math.Sqrt(i); j++)
if ((i % j) == 0)
{
isprime = false;
break;
}
if (isprime) countprimes++;
}
return countprimes;
}
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Stopwatch sw = new Stopwatch();
sw.Start();
int …Run Code Online (Sandbox Code Playgroud) 什么是正则表达式验证字符串是否为pandigital(包含从1到9的所有数字一次)?
例如:
123456789
891364572
Run Code Online (Sandbox Code Playgroud)
但不是:
11234556789
25896471
Run Code Online (Sandbox Code Playgroud)
我知道如何在没有正则表达式的情况下执行此操作,但我无法为此形成正则表达式.
谢谢.
这不是功课.