标签: arithmetic-expressions

用双重C++测试可分性

((num / i) % 1 == 0)当num是double时,为什么不能在C++中工作?我将如何编写此代码,通过检查是否留下余数(等等0.3333)来检查因子.

int getFactorials (double num)
{
    int total = 0;      // if (total / 2) is equal too 'num' it is a perfect number.

    for (int i = 1; i < num; i++)
    {
        if ((num / i) % 1 == 0)
        {
            cout << i << endl;
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ double arithmetic-expressions factorial

3
推荐指数
2
解决办法
1155
查看次数

BASH:百分比变化-如何计算?没有BC如何获得绝对值?

我需要计算两个值之间的百分比变化。

我在这里的代码:

echo $time1
echo $time2
pc=$(( (($time2 - $time1)/$time1 * 100) ))
echo $pc
Run Code Online (Sandbox Code Playgroud)

在控制台中带来这样的输出(带有set -xe选项)

+ echo 1800
1800
+ echo 1000
1000
+ pc=0
+ echo 0
Run Code Online (Sandbox Code Playgroud)

数学表达式中的代码似乎编写正确,但是,我得到-80左右。为什么这发生在我身上?

问题的第二部分。我无权访问,也将无权访问bc命令。据我所知,它可以给我绝对数字。

所以..如果没有bc命令-这对于IF条件是个好主意吗?

if (( (( "$pc" > 20 || (( "$pc" < -20 )); then...
Run Code Online (Sandbox Code Playgroud)

math bash arithmetic-expressions

3
推荐指数
1
解决办法
7422
查看次数

使用批处理中的变量在循环中执行算术运算

我想打印以下内容:

0
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个:

ECHO OFF
FOR /L %%A in (1,1,5) DO (
    SET /a "B=%%A-1"
    ECHO %B%
)
Run Code Online (Sandbox Code Playgroud)

然而,这给了我:

4
4
4
4
4
Run Code Online (Sandbox Code Playgroud)

A在我的代码中同时使用和时,如何实现所需的输出B

variables for-loop arithmetic-expressions batch-file echo

3
推荐指数
1
解决办法
3455
查看次数

将 2d 元组添加到 Julia 中的 2d 数组

如何在 Julia 中将二维元组添加到二维矩阵?

    t1 = ((10,20),(30,40)); #2d immutable tuple 
    a = [1 2;3 4] #2d matrix 
    a .+ t1 
Run Code Online (Sandbox Code Playgroud)

抛出错误:

MethodError: no method matching +(::Int64, ::Tuple{Int64, Int64})
Closest candidates are:
  +(::Any, ::Any, ::Any, ::Any...) at operators.jl:560
  +(::T, ::T) where T<:Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8} at int.jl:87
  +(::Integer, ::Ptr) at pointer.jl:161
  ...
Stacktrace:
 [1] _broadcast_getindex_evalf
   @ .\broadcast.jl:648 [inlined]
 [2] _broadcast_getindex
   @ .\broadcast.jl:621 [inlined]
 [3] getindex
   @ .\broadcast.jl:575 [inlined]
 [4] copy
   @ .\broadcast.jl:922 [inlined]
 [5] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{2}, Nothing, …
Run Code Online (Sandbox Code Playgroud)

tuples arithmetic-expressions matrix julia

3
推荐指数
2
解决办法
419
查看次数

Char是算术类型?

我创建了一个Matrix类,使用

static_assert(std::is_arithmetic<T>::value,"");
Run Code Online (Sandbox Code Playgroud)

检查模板类型是否为算术类型.所以我尝试了

Matrix<char> matrix1(3,3); // ctor takes number of rows and columns
Run Code Online (Sandbox Code Playgroud)

它的工作原理.不使用char类型调用static_assert函数.这是正常的?char看起来像算术类型?

c++ arithmetic-expressions matrix char

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

在Java中长时间取消装箱

在一些代码中,我看到了这一点:

private void compute(Long a, Long b, Long c) {
        long result = a-(b+c);
...
Run Code Online (Sandbox Code Playgroud)

结果存储在原始long中而不是对应于其操作数的Long对象中,这似乎有点奇怪。

是否有任何理由将结果存储为原语?

java arithmetic-expressions

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

在Java中解决简单的字符串表达式(1 + 2*3)[几乎完成]

我正在尝试解决简单的字符串表达式,例如1 + 2*3/4,没有括号.我已完成简单的整数部分,上面的表达式将完美地工作,但现在我卡住了十进制值,例如1.1/2.2*4.4我想要的是将整个十进制数推入堆栈(双),我我正在研究它已经有一段时间了,但还是没有得到它,你的帮助将非常感激.目前的代码是:

import java.util.Stack;
import java.text.DecimalFormat;

public class EvaluateString
{
    public static double evaluate(String expression)
    {
        char[] tokens = expression.toCharArray();
        DecimalFormat df = new DecimalFormat("#.##");

         // Stack for numbers: 'values'
        Stack<Double> values = new Stack<Double>();

        // Stack for Operators: 'ops'
        Stack<Character> ops = new Stack<Character>();

        for (int i = 0; i < tokens.length; i++)
        {
             // Current token is a whitespace, skip it
            if (tokens[i] == ' ')
                continue;

            // Current token is a number, push it to stack …
Run Code Online (Sandbox Code Playgroud)

java string arithmetic-expressions

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

LISP算术实施

我正在用D制作一个玩具lisp解释器,我不太了解Lisp的理论.

我想知道Lisp是否可以自己实现基本的算术函数(+, - ,×,÷).大多数Lisp/Scheme方言使用C语言,类似Java的语言实现它,并将其作为lisp代码重载(重复实现?).

我想纯粹为Lisp代码编写算术函数.可能吗?

c lisp arithmetic-expressions

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

什么可以在C99中返回bool类型?

什么是bool保证返回?我可以依赖bool类型来解释为0或1吗?如果bool的数值解释在C99中不可靠,那么有一个标准吗?在依赖bool进行算术运算时,我在LLVM,GCC或Visual C++中应该注意什么?

举个例子,如果我这样做:

// An example of calculating a possible stride in bytes.
// hasData(), is8bit(), and is16bit() return as bool type

unsigned int stride = object->hasData() * object->size() * 
                      (object->is8bit()  * sizeof(uint8_t) + 
                       object->is16bit() * sizeof(uint16_t));
Run Code Online (Sandbox Code Playgroud)

在示例中,我打赌bool类型只返回0或1.

c standards arithmetic-expressions integer-arithmetic

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

Prolog :: f(x)递归

我是Prolog的初学者,有两个要求:

  1. f(1) = 1

  2. f(x) = 5x + x^2 + f(x - 1)

规则:

f(1,1). f(X,Y) :- Y is 5 * X + X * X + f(X-1,Y).

查询:

f(4,X).

输出:

ERROR: is/2: Arguments are not sufficiently instantiated

如何添加f(X-1)的值?

recursion arithmetic-expressions prolog instantiation-error

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