标签: formula

这个基地有多少位数?

问题是导出一个公式,用于确定给定十进制数在给定基数中可能具有的位数.

例如:十进制数100006可分别由基数2,3,4,5,6,7,8中的17,11,9,8,7,6,8位数表示.

那么我到目前为止得到的公式是这样的:(log10(num)/ log10(base))+ 1.

在C/C++中,我使用这个公式来计算上面给出的结果.

long long int size = ((double)log10(num) / (double)log10(base)) + 1.0;

但遗憾的是,在某些情况下,公式并没有给出正确的答案,例如:

Number 8 in  base 2 : 1,0,0,0
Number of digits: 4
Formula returned: 3

Number 64 in  base 2 : 1,0,0,0,0,0,0
Number of digits: 7
Formula returned: 6

Number 64 in  base 4 : 1,0,0,0
Number of digits: 4
Formula returned: 3

Number 125 in  base 5 : 1,0,0,0
Number of digits: 4
Formula returned: 3

Number 128 in  base 2 : …
Run Code Online (Sandbox Code Playgroud)

c c++ algorithm math formula

7
推荐指数
3
解决办法
3026
查看次数

我如何手动编写复杂的公式解析器?

嗯,这是语言不可知的,我更喜欢用C#或F#来做,但是这次我更感兴趣的是"无论如何这样做".

我想要完成的是:

a)我想学习它 - 这次是关于我的自我,这是一个有趣的项目,我想向自己展示我对这个东西非常擅长

b)我对EBNF知之甚少(虽然我还不知道,运算符优先级如何在EBNF中起作用 - Irony.NET做得对,我查看了这些例子,但这对我来说有点不祥)

c)我的解析器应该能够这样:5*(3 +(2 - 9*(5/7))+ 9)例如,给我正确的结果

d)坦率地说,这似乎是为我编写编译器甚至是解释器的最大问题.我甚至可以生成64位汇编代码(我可以手动编写汇编程序),但公式解析器...

e)另一种想法:即使是简单的计算机(比如我的旧款Sharp 1246S只有大约2kB的RAM)也能做到这一点......它不会那么难,对吧?甚至非常非常古老的编程语言都有公式评估... BASIC是从1964年开始的,他们已经可以计算出我所提出的公式类型作为例子

f)一些想法,一些灵感就足够了 - 我根本不知道如何做运算符优先级和括号 - 但是,我知道它涉及AST并且许多人使用堆栈

所以你怎么看?

language-agnostic compiler-construction parsing interpreter formula

7
推荐指数
1
解决办法
486
查看次数

所有一阶和二阶预测因子的公式,包括R中的相互作用

在统计编程语言R中,使用以下公式(在lm()或glm()中使用)

z ~ (x+y)^2  
Run Code Online (Sandbox Code Playgroud)

相当于

z ~ x + y + x:y
Run Code Online (Sandbox Code Playgroud)

假设,我只有连续的预测因子,有一种简明的方法可以获得

z ~ I(x^2) + I(y^2) + I(x) + I(y) + I(x*y)
Run Code Online (Sandbox Code Playgroud)

为因子预测器做正确事情的公式是一个优点.

一种可能的解决方案是

z ~ (poly(x,2) + poly(y,2))^2
Run Code Online (Sandbox Code Playgroud)

我正在寻找更优雅的东西.

r formula

7
推荐指数
1
解决办法
4661
查看次数

Crystal Report:如何在一个公式中评估多个IF语句?

背景

  • 我正试图在我的报告的详细信息行上做一些漂亮的验证.
  • 我有几个名为Assert语句的公式,如果测试失败则返回false,如果它们通过则返回true.

目标

  • 我想创建一个存储"规则违规"的数组,然后将它们显示在行末的字段中,名为"Broken Rules"的标题下

到目前为止我做了什么

  • 创建一个Array并将其初始化为报表头中的空字符串数组
  • 创建了一个公式来评估每个规则,增加数组,并添加破碎的规则编号(这是每个规则的重复代码,没有什么花哨的).这将添加到我的详细信息显示上方的抑制详细信息部分.
  • 创建了一个公式,它是规则损坏数组中元素的连接.这是一个与我的详细信息字段一起显示的公式.
  • 创建了一个公式,将规则broken数组设置为空.在显示详细信息后,这会显示在详细信息部分中.

问题

  • Crystal似乎不允许我能找到的"end if"语句.
  • 因此,似乎我只能评估一个If语句而不是单个公式中的倍数.
  • 这意味着我不能做多个ifs,每个规则一个.

示例代码

创建数组(一个名为Init_StringVar_Array_RulesBroken的公式):

//@Init
//This goes into the report header
WhilePrintingRecords;

//initializes the array of broken rules which we'll add to during details
StringVar Array RulesBroken;
"";
Run Code Online (Sandbox Code Playgroud)

前三个规则评估的示例,用于递增数组和添加值(这在名为Increment_StringVar_Array_RulesBroken的公式中):

//@Increment
//Goes before the details section is displayed

//accesses the shared variable
WhilePrintingRecords;
StringVar Array RulesBroken;

//separate if statement for each assert statement

//01
if not {@Assert_01_IfCrewIsConstructionCrew_CBFlagShouldBeYesOrDirect} then
Redim Preserve RulesBroken[UBound(RulesBroken) + 1]; //extends the array to …
Run Code Online (Sandbox Code Playgroud)

arrays if-statement formula crystal-reports crystal-reports-2008

7
推荐指数
1
解决办法
2万
查看次数

从具有点的公式的RHS中删除变量

我有一个数据框和存储在变量中的公式:

> d <- data.frame(cls=1, foo=2, bar=3)
> f <- formula(cls ~ .)
Run Code Online (Sandbox Code Playgroud)

我想以编程方式从该公式的RHS中删除一个变量(在我的代码中,此变量的名称将作为字符串传递到某处).我试过用update.formula:

> update(f, .~.-foo)    
Error in terms.formula(tmp, simplify = TRUE) : 
  '.' in formula and no 'data' argument
Run Code Online (Sandbox Code Playgroud)

然后我试着提供这个data论点:

> update(f, .~.-foo, data=d)
Error in terms.formula(tmp, simplify = TRUE) : 
  '.' in formula and no 'data' argument
Run Code Online (Sandbox Code Playgroud)

我知道如果初始公式在右侧没有点,上述情况将起作用:

> f <- formula(cls ~ foo + bar)
> update(f, .~.-foo)
cls ~ bar
Run Code Online (Sandbox Code Playgroud)

如果我无法确保RHS不包含点,如何从公式的RHS中删除变量?

r formula

7
推荐指数
1
解决办法
115
查看次数

如何从给定日期,星期几和月份获得所有可能的年份?

我希望获得与特定日期,一周中的一周和一个月相关的年份.我有可能从这种模式中获得多年.假设日期是15,月份是8月,星期几是星期二那么,我怎样才能找到有效的年份?有这个公式吗?

math date formula

7
推荐指数
1
解决办法
715
查看次数

vba转换周数(和年)到目前为止?

我在Cell C13中有一个星期编号,在Cell C14中有一年.

我使用以下公式将其转换为该周数的星期四:

=DATE(C14,1,-6)-WEEKDAY(DATE(C14,1,3))+C13*7
Run Code Online (Sandbox Code Playgroud)

我怎么能用VBA做同样的事情?

excel vba formula excel-vba

7
推荐指数
1
解决办法
9521
查看次数

如何使用Alexa stats计算网站的PageViews(公式?)

听起来很简单,我只想知道如何使用Alexa统计数据计算网站的PageViews.Alexa提供百万分之一的PageViews并达到互联网用户总数的百分比等.我只想要一个使用Alexa数据来计算它的公式.我知道,Alexa的数据不准确,但我的问题将由此解决.

提前致谢.

php api formula alexa pageviews

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

每次单元格获取的值是否通过公式更改时,如何运行VBA代码?

我想知道每次单元格得到的值是否由公式改变时如何运行VBA代码?我设法在一个单元格被用户更改其值时运行代码,但它不起作用

excel vba formula

6
推荐指数
1
解决办法
8万
查看次数

公式处理(按正确顺序放置交互项)

我正在尝试建立一个模型验证工具,我正在遵循前向选择方法,所以如果我们假设我的模型是

model <- y ~ a * b + c * d + e
Run Code Online (Sandbox Code Playgroud)

我可以使用这个terms功能

attributes(terms(model))$term.labels
Run Code Online (Sandbox Code Playgroud)

找出我模型中的所有预测变量,但这种方法的问题是交互项总是放在结果的末尾.我想a:b是后ab,而不是在最后,和同样为c:d.有没有办法保持订单与交互条款?

r formula

6
推荐指数
1
解决办法
122
查看次数