求两个数的最大公约数(位运算)
来源:互联网 发布:淘宝网买苹果手机可靠吗 编辑:程序博客网 时间:2024/05/18 06:18
#include <stdio.h>
#include <stdlib.h>
int gcd(int a,int b){
int c=1;
while(a-b){
if(a&1){
if(b&1){
if(a>b)a=(a-b)>>1;else b=(b-a)>>1;
}
else b>>=1;
}
else{
if(b&1)a>>=1;else c<<=1,a>>=1,b>>=1;
}
}
return c*a;
}
int main()
{
int gcd(int a,int b);
int a1,b1,num;
scanf("%d %d",&a1,&b1);
num=gcd(a1,b1);
printf("%d",num);
return 0;
}
#include <stdlib.h>
int gcd(int a,int b){
int c=1;
while(a-b){
if(a&1){
if(b&1){
if(a>b)a=(a-b)>>1;else b=(b-a)>>1;
}
else b>>=1;
}
else{
if(b&1)a>>=1;else c<<=1,a>>=1,b>>=1;
}
}
return c*a;
}
int main()
{
int gcd(int a,int b);
int a1,b1,num;
scanf("%d %d",&a1,&b1);
num=gcd(a1,b1);
printf("%d",num);
return 0;
}
0 0
- 求两个数的最大公约数(位运算)
- 【C】辗转相除法求两个数的最大公约数,利用位运算交换两个数无须中间变量
- 位运算求两个数的平均值
- 位运算求两个数的平均值
- 求两个数的最大公约数(一)
- 求两个数的最大公约数(二)
- 求两个数的最大公约数(递归)
- 求两个数的最大公约数(作业)
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 入门二叉树的世界
- 用 const 限定类的成员函数
- photoshop中获得环形的方法
- 从点滴看管理之会议管理
- Adaboost算法
- 求两个数的最大公约数(位运算)
- 从点滴看管理之积极的进行经验总结
- Python中的NumPy函数库
- mysql DEMO
- 利用servlet转发技术实现统计form表单中字母次数
- SQL数据库主从配置
- python中array和matrix的区别
- 项目方案目录结构总结
- 利用python实现KNN分类器