标签: integer-division

找到可被6或7整除但不能同时整数的整数

我正在尝试编写一个程序,显示1到100之间的整数,可以被6或7整除但不能同时整数.

这是我的代码:

import acm.program.*;

public class Problem4 extends ConsoleProgram
{
    public void run()
    {
        for (int i = 1; i <= 100; i++)
        {
            boolean num = ((i % 6 == 0) || (i % 7 == 0));

            if (num == true)
            println(i + " is divisible");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显示如下回答:6,7,12,14,18,21,24,28,30,35,36,42,48,49,54,56,60,63,66,70,72, 77,78,84,90,91,96,98

现在粗体数字42和84都是6和7的divisbile.现在如果我在上面的代码中更改了||to &&,结果只显示了42和84.

我应该做些什么改变才能从最终结果中删除这两个数字?

java integer-division

2
推荐指数
4
解决办法
9411
查看次数

数字划分

我可以在Timestamp类中看到,构造函数如下:

    public Timestamp(long time) {
    super((time/1000)*1000);
    ....................
Run Code Online (Sandbox Code Playgroud)

我不理解的是,需要将时间除以1000然后再乘以1000.它会有什么不同?这件作品不是多余的吗?

java numbers division integer-division

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

在C中,最好的方法是查看一个数字是否可以被另一个数除尽?

在C中,最好的方法是查看一个数字是否可以被另一个数除尽?我用这个:

if (!(a % x)) {
// this will be executed if a is divisible by x
}
Run Code Online (Sandbox Code Playgroud)

反正哪个更快?我知道这样做,即130%13将导致每10次做130/13.因此,只需要一个循环就有10个循环(我只想知道130是否可以被13整除).

谢谢!

c math optimization integer-division micro-optimization

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

int64不支持LanguagePrimitives.DivideByInt?

为什么int64不支持LanguagePrimitives.DivideByInt?我认为写这样的东西是很自然的:

let inline DivBy2 n = LanguagePrimitives.DivideByInt n 2
let res = DivBy2 100L
Run Code Online (Sandbox Code Playgroud)

但编译器说int64 doesn't support the operator DivideByInt.

我试图欺骗:

type System.Int64 with 
    static member DivideByInt (n: System.Int64) (d: int) = n / (int64 d)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

通过int执行int64的泛型划分可以做些什么?

generics f# inline integer-division

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

范围编码器:如何摆脱分裂?

我正在尝试优化QTC视频编解码器,以便在Raspberry Pi上运行,并获得不错的性能.一个重要的瓶颈是在范围解码器中完成的32位整数除法,其考虑了解码时间的18%.由于设备的ARM处理器显然缺少整数除法指令,我认为可以轻松优化它.分工必须准确.

每个调用的特定除法中的被除数和除数都是不同的,但已知除数总是小于65536.我考虑建立一个逆除数值的查找表.使用该表我可以使用乘法而不是除法.查找表的大小为256千字节.

问题

  1. 执行优化是一个好主意吗?
  2. 是否有更好的方法摆脱软件部门?
  3. 是否有不同的方法来实现算法,以便没有划分?
  4. 其他想法?

optimization arm integer-division raspberry-pi range-encoding

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

为什么5/7打印0?

我刚开始学习C,我了解到/符号是除法运算符.我在试验,并想知道为什么5/7 printf数字0.

这是我的计划:

#include<stdio.h>

main()
{
    int n;
    n = 5/7;
    printf("%d", n);
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c math division integer-division

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

负面编号的楼层划分

表达式6 // 4得出1,其中除法在除数之后产生整数.

但是负数,为什么会-6 // 4回归-2呢?

python division integer-division python-3.x

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

在M0 +设备上除以零例外

在M0 +设备上是否存在除零除外?

我知道Cortex M3和M4设备有此功能.

embedded arm integer-division cortex-m

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

在c ++中使用x86 DIV的asm块有什么用?

有人可以帮助我理解unsigned long long在性能方面使用asm块进行乘法的好处.它与竞争性编程优化有关.我想它会使乘法更快,但我实际上无法理解代码.

const int md = 998244353;
inline int mul(int a, int b)
{
#if !defined(_WIN32) || defined(_WIN64)
    return (int) ((long long) a * b % md);
#endif
    unsigned long long x = (long long) a * b;
    unsigned xh = (unsigned) (x >> 32), xl = (unsigned) x, d, m;
    asm(
            "divl %4; \n\t"
            : "=a" (d), "=d" (m)
            : "d" (xh), "a" (xl), "r" (md)
    );
    return m;
}
Run Code Online (Sandbox Code Playgroud)

c++ x86 assembly inline-assembly integer-division

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

为什么C中的1.666667是5.0 / 3?

我是C语言的新手,但是我像在Java中一样尝试在C中进行整数,浮点和双除,但是当我执行5.0 / 3而不是1.6666666666666667时,我得到1.666667的双除和浮法师。

我曾尝试像往常一样使用Visual Studio执行该程序,但收到消息“第一个数字为1,第二个数字为1.666667,最后一个数字为1.666667”。执行后:

#include <stdio.h>

int main()
{
    int firstNumber = 5 / 3;
    float secondNumber = 5.0f / 3.0f;
    double thirdNumber = 5.0 / 3.0;

    printf("First number is %d, second one is %f and the last one is %lf.", firstNumber, secondNumber, thirdNumber);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么对于“ secondNumber”和“ thirdNumber”得到相同的结果?

c double division integer-division

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