C/C++_log2000_一种利用编码特点求最大公约数的方法

来源:互联网 发布:dnf安图恩组队网络冲突 编辑:程序博客网 时间:2024/06/15 01:57

使用按位异或提高获取最大公约数程序的运行速度

今天在知乎上看到有位朋友(./people/li-zhao-qiang-58)写下了一个是用按位异或提高获取最大公约数速度的程序,我补全了测试程序,贴出来与大家分享一下

#include <stdio.h>int gcd1(int x,int y){//使用按位异或方法    while(x^=y^=x^=y%=x);    return y;}int gcd2(int x, int y){//普通辗转相除法    int r = 0;    while (y)    {        r = x % y;        x = y;        y = r;    }    return x;}int main() {    printf("fast gcd? %d,original gcd? %d",gcd1(8251,6105),gcd2(8251,6105));    return 0;}

visitor tracker
访客追踪插件


原创粉丝点击