相关疑难解决方法(0)

为什么一个包含100亿次迭代的大型for循环在Python中运行的时间要比在C中运行的时间长?

我目前正在比较Python3和C中的两个循环计算.对于Python,我有:

# Python3
t1 = time.process_time()
a = 100234555
b = 22333335
c = 341500
for i in range(1, 10000000001):
    a = a - (b % 2)
    b = b - (c % 2)
print("Sum is", a+b)
t2 = time.process_time()
print(t2-t1, "Seconds")
Run Code Online (Sandbox Code Playgroud)

然后在C中,我做同样的事情:

#include <stdio.h>

int main() {
   long long a = 100234555;
   long long b = 22333335;  
   long long c = 341500;
   for(long long i = 1; i <= 10000000000; i++){
        a = a - (b % 2);
        b …
Run Code Online (Sandbox Code Playgroud)

c python python-3.x

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

为什么%和fmod()都存在于C中

我今天在我的CS课上参加了一个测验并得到了关于模运算符错误的问题,因为我不知道C中%的可用性,我一直在使用fmod().为什么两者都存在?是一个更好/更快还是只处理不同的数据类型?

c math.h

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

带有unsigned char的Mod运算符

我发现使用模运算符的一个非常奇怪的行为.

给出以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

int main()
{   
    uint8_t x = 2;
    uint8_t i;

    for(i=0; i<5; i++)
    {
        x = (x - 1) % 10;
        printf("%d ", x);
    }

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

我希望结果1 0 3 4 2,但我得到了1 0 255 4 3.

我认为它与整体推广有关,但我不明白转换是如何完成的.

c modulo

5
推荐指数
2
解决办法
1841
查看次数

使用带有浮点数的模数运算符

有人在编程竞赛中提出这个问题: -

-1%1000000009是-1或1000000008

我想知道,这甚至可能吗?我试过我的系统,每次都得-1.另外,我必须找出10 ^ -9%10 ^ 9,我用fmod并得到答案1e-009,不应该是1吗?

我的解释: - 10 ^ -9/10 ^ 9 = 1/10 ^ 18所以,答案= 1.

请告诉我我错在哪里.

c++ floating-point

5
推荐指数
1
解决办法
585
查看次数

是否有任何数字可以对浮点数进行快速模计算?

我知道对于无符号整数,如果除数是 2 的幂,我可以用位掩码替换模运算。对于浮点数,是否有任何数字具有类似的属性?也就是说,是否有任何数字n可以f mod n比一般情况更有效地计算,而不必使用位掩码?

当然,除了一个。 脑部衰竭

编辑:澄清一下,f是任何浮点数(在运行时确定), n是任何格式的任何编译时常量,我希望结果是浮点数。

c floating-point modulo fmod

5
推荐指数
2
解决办法
959
查看次数

为什么在C89中为整数除法得到不同的值?

例如,假设您有以下变量:

int i = 9;
int j = 7;
Run Code Online (Sandbox Code Playgroud)

根据实现,,,的值(-i)/j可以是–1–2.怎么可能得到这两个不同的结果?

c c89

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

Javascript模数

我想知道Javascript如何处理模数.例如,Javascript评估47%8?谢谢.我似乎无法找到任何文档,我的模数技能不是最好的...谢谢!

javascript modulo

0
推荐指数
1
解决办法
1398
查看次数

这段代码中百分比字符的含义是什么?

在这种情况下,百分比是指什么?

int myInt = 27 % 10;  
myInt = 7;  
Run Code Online (Sandbox Code Playgroud)

%这段代码的意思是什么?

c int

0
推荐指数
1
解决办法
2006
查看次数

Mod with negative numbers gives a negative result in Java and C

Let's say I have (-5) mod 8.

I tried it in both languages Java and C, and they gave me a -5 result when I was expecting 3.

Why is this happening? Can a modulus be negative? And what should I change to get the correct result?

Java code

public class Example {
    public static void main(String[] args) {
        int x;
        x = -5%8;
        System.out.println(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

C code

int main(){
    int x;
    x = -5%8;
    printf("%d", x); …
Run Code Online (Sandbox Code Playgroud)

c java math mod

0
推荐指数
1
解决办法
4507
查看次数

我这里的模数代码有什么问题?(C)

#include <stdio.h>

int main (void)
{
  int x = 10^2;
  long a = 4000465006540123; //(16 places)
  long b = 4000465006540123 % x;
  
  printf("%li\n", b);
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时(它正确编译),代码打印出“3”。难道它不应该打印出“23”,因为 x 是 100,而不是 10?

c modulus

0
推荐指数
1
解决办法
61
查看次数

如何在没有循环的情况下解决这个问题?

我们有 3 个数字 y、x 和 n。我们被要求在 1 <= k <= n 且 k % x = y 的情况下找到最大的 k。例如:输入:1 2 100 输出:99

我可以写的是:

#include <stdio.h>
int main()
{
   int y, x, n, max = 1;
   scanf("%d %d %d", &y, &x, &n);
   for (int k = 1; k <= n; k++)
   {
        if ((k % x == y) && (k >= max))
        max = k;
   }
   printf("%d", max);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

它完全正常工作。但问题是程序应该在不使用任何循环或 if 的情况下编写。有人有什么想法吗?

c loops if-statement division

0
推荐指数
1
解决办法
104
查看次数

Java中%(模数)和/(除数)的区别?

昨天我不得不面对面试,在那次面试中他们问了我一个问题:告诉我 % 和 / 之间的区别?
我知道他们给出的结果,但我无法从理论上解释它。请问哪位大神能给个理论上的解释一下,我也做过一个程序:

class FindDifference 
{
    public static void main(String[] args) 
    {
        int num1=12;
        int num2=3;
        int modulus=num1%num2;
        int divide=num1/num2;
        System.out.println("modulus :"+modulus);
        System.out.println("division :"+divide);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的结果是:

modulus :0    
division :4    
Run Code Online (Sandbox Code Playgroud)

但我怎么能给出它们之间的理论解释呢?请你帮帮我好吗?

java math

-4
推荐指数
1
解决办法
3万
查看次数

标签 统计

c ×9

modulo ×3

floating-point ×2

java ×2

math ×2

c++ ×1

c89 ×1

division ×1

fmod ×1

if-statement ×1

int ×1

javascript ×1

loops ×1

math.h ×1

mod ×1

modulus ×1

python ×1

python-3.x ×1