嘿,一直在Project Euler工作,这个给我一些问题
从下面三角形的顶部开始并移动到下面一行的相邻数字,从上到下的最大总数为23.
3
7 4
2 4 6
8 5 9 3
也就是说,3 + 7 + 4 + 9 = 23.
找到下面三角形从上到下的最大总数:
...
注意:由于只有16384条路线,因此可以通过尝试每条路线来解决此问题.然而,问题67,对于包含一百行的三角形来说是同样的挑战; 它无法通过蛮力解决,需要一种聪明的方法!; O)
这是我用来解决它的算法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Problem18
{
class Program
{
static void Main(string[] args)
{
string triangle = @"75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 …Run Code Online (Sandbox Code Playgroud) 我正在将C++ Dlls调用到C#中并遇到了问题
C++函数:
int _declspec(dllexport) CompressPacket(unsigned char *buff, int offset, int len);
Run Code Online (Sandbox Code Playgroud)
C#功能:
[DllImport("HuffCompress.dll")]
private static extern unsafe int HuffCompress(ref byte[] buff, int offset, int len);
...
private unsafe byte[] CompressPacket(byte[] packet)
{
int len = HuffCompress(ref packet, 12, packet.Length-12);
byte[] compressed = new byte[len];
for (int i = 0; i < len; i++)
compressed[i] = packet[i];
return compressed;
}
Run Code Online (Sandbox Code Playgroud)
什么时候
int len = HuffCompress(ref packet, 12, packet.Length-12);
运行,我得到一个BadImageFormatException
由于C#编辑器是VSC#Express,它不能编译64位程序,所以我不确定这个问题任何想法都会很棒