标签: modulus

如何简化我的"等式"以在3和5之间切换?

以下列方式很容易在0和1之间"切换":

 int i = 0;
 i = (++i) % 2; // i = 1
 i = (++i) % 2; // i = 0
Run Code Online (Sandbox Code Playgroud)

同样,我发现可以在3到5之间"切换":

 int i = 3;
 i = (((i * 2) - 1) % 3) + 3; // i = 5
 i = (((i * 2) - 1) % 3) + 3; // i = 3
Run Code Online (Sandbox Code Playgroud)

虽然这感觉很麻烦,但我正在寻找一种更简洁的方法来做到这一点.可以简化吗?如果是这样,怎么样?顺便说一下,我实际上是在用这个东西.

c math integer numbers modulus

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

如何在 C++ 中找到模乘逆

#include <bits/stdc++.h>

#define mx 1000005
#define mod 1000003

using namespace std;

long long arr[mx];

int fact()
{
    arr[0]=1;
    for(int i=1; i<mx; i++)
    {
        arr[i]=((i%mod)*(arr[i-1]%mod))%mod;
    }
}

int main()
{
    int t;
    long long a,b,C,E;
    fact();
    cin>>t;
    while(t--)
    {
        cin>>a>>b;

        C=(arr[a]%mod)%mod;
        E=((arr[b])%mod)*((arr[a-b])%mod)%mod;
    }

}
Run Code Online (Sandbox Code Playgroud)

在这个问题中我必须计算 (C/E)%1000003。我如何使用模乘逆技术来做到这一点?还有其他方法可以计算这个吗?

c++ modulus modular-arithmetic

4
推荐指数
1
解决办法
9540
查看次数

数组索引的模运算

我有一个关于使用按钮切换一些图像的教程,这是代码

public class MainActivity extends AppCompatActivity {
private static ImageView andro;
private static Button buttonswitch;

int current_image_index = 0;
int[] images = {R.mipmap.andro_img,R.mipmap.apple_image,R.mipmap.ic_launcher,R.mipmap.ic_launcher_round};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buttonClick();
}
public void buttonClick() {
    andro = (ImageView) findViewById(R.id.imageView);
    buttonswitch = (Button) findViewById(R.id.button);
    buttonswitch.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    current_image_index++;
                    current_image_index = current_image_index % images.length;
                    andro.setImageResource(images[current_image_index]);
                }
            }
    );
}
}
Run Code Online (Sandbox Code Playgroud)

这部分我真的很困惑:

 @Override
            public void onClick(View view) {
                current_image_index++;
                current_image_index = current_image_index % images.length; …
Run Code Online (Sandbox Code Playgroud)

java arrays modulus

4
推荐指数
1
解决办法
8569
查看次数

使用 Python 的 `%` 计算 C 的 `%`?

如何%使用 Python计算 C %?两者之间的区别在于它们处理否定论点的方式。

在这两种语言中, 的%定义方式使这种关系(//整数除法)成立:

a // b * b + a % b == a
Run Code Online (Sandbox Code Playgroud)

但是a // bC 和 Python 中的舍入不同,导致a % b.

例如,在 C 中(其中整数除法仅/使用int操作数)我们有:

int a = 31;
int b = -3;
a / b;  // -10
a % b;  // 1
Run Code Online (Sandbox Code Playgroud)

在 Python 中:

a = 31
b = -3
a // b  # -11
a % b  # -2 …
Run Code Online (Sandbox Code Playgroud)

c python modulus

4
推荐指数
1
解决办法
154
查看次数

具有模数的while循环中的浮点比较

我想建议如何优化以下while循环:

double minor_interval   = 0.1;
double major_interval   = 1.0;

double start            = 0.0;
double finish           = 10.0;

printf("Start\r\n");

while (start < finish)
{
    printf("Minor interval: %.20f\r\n", start);

    double m = fmod(start, major_interval);
    printf("m: %.20f\r\n", m);

    if (m == 0)
        printf("At major interval: %.20f\r\n", start);

    start += minor_interval;
}

printf("Finished\r\n");
Run Code Online (Sandbox Code Playgroud)

本质上,我在循环中递增一个计数器的次要间隔,并且如果我处于一个主要的间隔,我想知道每次循环.想象这是用毫米间隔画一个尺子,每当我到达一个主要的间隔时,我想画一厘米.鉴于浮点运算的不准确性,如何修改上述循环以实现我需要的功能?我尝试过使用公差比较模数结果的不同方法,但没有运气.请注意,次要和主要间隔可以是任何值,即minor = 0.4和major = 1.6(绘制四分之一英里的增量).

提前致谢.

c++ floating-point loops modulus

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

用模数排序

我正在尝试使用uksort将列表排序为列.

数组已经进行了alpha排序,所以它就像 array('A','B','C','D','E','F','G','H','I','J','K','L','M')

它以html形式显示为浮动元素:

A B C D
E F G H
I J K L
M
Run Code Online (Sandbox Code Playgroud)

我希望它重新排序,所以它显示如下:

A E H K
B F I L
C G J M
D
Run Code Online (Sandbox Code Playgroud)

所以排序的数组将是: array('A','E','H','K','B','F','I','L','C','G','J','M','D'

基本上,与使用模数按字母顺序排序列表相同,但对于php.我已经尝试将javascript的解决方案转换为php,但我没有得到正确的答案.任何人有任何想法如何在PHP中这样做?

这是我尝试过的:

function cmp_nav_by4($a, $b) {
    if (($a % 5) < ($b % 5)) {
        return 1;
    } elseif (($a % 4) > ($b % 4)) {
        return -1;
    } else {
        return $a < $b ? 1 : -1;
    }
}
$result = uksort($thearray, …
Run Code Online (Sandbox Code Playgroud)

php sorting matrix modulus

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

字符串的剩余/模数是一个数字

为什么这甚至可能?

console.log('13' % 2);
Run Code Online (Sandbox Code Playgroud)

1

我假设JavaScript只是自己转换字符串.我会很感激有关此行为的任何信息.

javascript string type-conversion modulus

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

模数除法

我最近注册了一个Java类,我有一个关于模数除法的问题.

我在教科书中得到一个例子:

( 100 - 25 * 3 % 4 ) = 97
Run Code Online (Sandbox Code Playgroud)

这等于97怎么样?我已经尝试了每一种可能性,我似乎无法弄明白.

有人可以帮我分解一下.

提前致谢.

java modulus

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

如何有效地验证pow(a,b)%b == a in C(无溢出)

我想验证是否

pow(a,b)%b == a

在C中为真,2≤b≤32768(2 15)且2≤a≤b,a和b为整数.

但是,直接计算pow(a, b) % bb是一个大数字,这将很快导致C溢出.什么是验证这种情况是否成立的技巧/有效方法?

这个问题是基于找到费马小定理的证人,该定理指出如果这个条件是假的,那么b不是素数.

此外,我在可能的时间也受到限制,它不能太慢(接近或超过2秒).最大卡迈克尔号码,号码b,这不是素数,而且不满足pow(a, b)% b == a2 <= a <= b(用b <= 32768)是29341.因此,对于检查方法pow(a, b) % b == a具有2 <= a <= 29341不应该太缓慢.

c integer-overflow memory-efficient modulus

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

如何按升序对奇数数组进行排序,但将偶数保持在其位置?

我想只排序奇数而不移动偶数.例如,当我写:

sortArray([5, 3, 2, 8, 1, 4])
Run Code Online (Sandbox Code Playgroud)

预期的结果是:

[1, 3, 2, 8, 5, 4]
Run Code Online (Sandbox Code Playgroud)

我是JavaScript的新手,我在互联网上遇到了让我感到困惑的挑战.我通常不会在互联网上发帖要求解决方案,但我已经尝试了几个小时,我想用JavaScript学习这个概念.

挑战表明:

你有一系列数字.你的任务是对升序奇数进行排序,但偶数必须在他们的位置.零不是奇数,你不需要移动它.如果您有一个空数组,则需要返回它.

这是我的代码到目前为止,请放轻松我,我正处于编程的开始阶段.

function sortArray(array) {
  let oddNums = [];
  for(let i = 0; i < array.length; i++) {
    if(array[i] % 2 !== 0) {
      oddNums.push(array[i]);
    }
  }
  oddNums = oddNums.sort((a,b)=> a-b);
  array.concat(oddNums);
  array = array.sort((a,b) => a-b);
  return array;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting modulus

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