gpt4 book ai didi

c++ - 优化大型乘法 C++ 的模

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:16:45 24 4
gpt4 key购买 nike

我正在尝试使我的程序更快地处理大数与模的乘法。这是我当前的代码:

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
long multiply = 1;
char x;
while ( (x = getchar()) != '\n' )
{
multiply = (multiply*(x-64))%26;
}
if (multiply < 10)
printf("0%d\n", multiply);
else
printf("%d\n", multiply);
return 0;
}

最佳答案

(首先,我得到一个警告,因为你使用符号 %d 来打印 long,也许你可以只使用 int它不会有什么不同,因为最大值是 26。)

我认为您可以通过使用无符号整数类型来提高速度,因为对于无符号整数,模运算要简单一些。 (仅通过查看生成的程序集很难确定... https://goo.gl/LAc42f )

关于c++ - 优化大型乘法 C++ 的模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com