这是一个问题,从项目欧拉,而这个问题包括一些源代码,所以认为这您的扰流板警报,如果你有兴趣自己解决它.不鼓励为问题分配解决方案,这不是我想要的.我真诚地需要在正确的方向上进行一点点推动和指导.
问题如下:
2 ^ 15 = 32768,其数字之和为3 + 2 + 7 + 6 + 8 = 26.
数字2 ^ 1000的数字总和是多少?
我理解问题的前提和数学,但我一周前才开始练习C#,所以我的编程充其量只是摇摇欲坠.
我知道int,long和double绝对不足以准确地保持2 ^ 1000的300+(基数10)数字,所以需要一些策略.我的策略是设置一个逐个获取数字的计算,并希望编译器能够计算出如何计算每个数字而没有像overflow这样的错误:
using System;
using System.IO;
using System.Windows.Forms;
namespace euler016
{
class DigitSum
{
// sum all the (base 10) digits of 2^powerOfTwo
[STAThread]
static void Main(string[] args)
{
int powerOfTwo = 1000;
int sum = 0;
// iterate through each (base 10) digit of 2^powerOfTwo, from right to left
for (int digit = …Run Code Online (Sandbox Code Playgroud) 我正在尝试修复正则表达式为emacs 突出显示缩进模块.它目前的工作方式是每%s空格突出显示一次:
"\\( \\) \\{%s\\}"
Run Code Online (Sandbox Code Playgroud)
这是一些Verilog代码行为的示例结果:

当前正则表达式适用于每行开头的缩进.然而,存在不期望的伪像,即不在行开头的空间序列也与正则表达式匹配.我想修改正则表达式以匹配上述行为,但仅限于行的开头.这就是我想要的(我必须手动绘制它):

这是我尝试过的.您可以从结果中看出行为不正确.
"^\\(\\( \\) \\{%s\\}\\) \\{1,\\}"
Run Code Online (Sandbox Code Playgroud)
结果:

也试过了
"^\\(\\( \\) \\{%s\\}\\)\\{1,\\}"
Run Code Online (Sandbox Code Playgroud)
结果:

这是相关的代码,但我道歉这不是一个有效的例子.请使用上面的链接作为工作示例.
(set (make-local-variable 'highlight-indentation-current-regex)
(format "\\( \\) \\{%s\\}" (- highlight-indentation-offset 1)))
(font-lock-add-keywords nil `((,highlight-indentation-current-regex
(1 'highlight-indentation-face))))
Run Code Online (Sandbox Code Playgroud)