求最大公约数的Stein算法以及高精度实现
2013-08-08 13:17
260 查看
求最大公约数的Stein算法以及高精度实现
分类: 数论2013-04-0712:47 59人阅读 评论(0) 收藏 举报
首先来介绍一下什么是Stein算法:
[cpp] view
plaincopy
#include <iostream>
using namespace std;
int abs(int x)
{
return x>0? x:-x;
}
int gcd(int a,int b)
{
if(a==0) return b;
if(b==0) return a;
if(a%2==0&&b%2==0) return 2*gcd(a/2,b/2);
else if(a%2==0) return gcd(a/2,b);
else if(b%2==0) return gcd(a,b/2);
else return gcd(abs(a-b),min(a,b));
}
int main()
{
int a,b;
while(cin>>a>>b)
{
cout<<gcd(a,b)<<endl;
}
return 0;
}
题目:高精度GCD
Java代码:
[cpp] view
plaincopy
import java.util.*;
import java.math.BigInteger;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in) ;
BigInteger a =cin.nextBigInteger();
BigInteger b =cin.nextBigInteger();
BigInteger ans=a.gcd(b);
System.out.println(ans);
}
}
相关文章推荐
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 2.、动态函数调用实现下列操作,输入2个数以及操作符计算结果。 @ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 乐观锁以及乐观锁的实现
- centos64位中 fastDFS的安装以及nginx反向代理实现搭建图片服务器(一)
- css的content属性,以及如何通过css content属性实现css计数器?
- 系统栈、用户栈以及栈的内部实现
- 代码实现Lable 、textField创建界面以及键盘的处理
- Java 实现二叉树的构建以及3种遍历方法
- 算法--组合数学:杨辉三角数学分析以及Java实现
- 改善用户体验,用图片的自身变化以及进度通知摆脱传统的进度条,okhttp,Canvas,Paint实现
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- matlab中fspecial中生成高斯模板的解释以及c语言实现
- Android App跳转App以及App跳转指定App页面的实现
- J2ME网络编程以及网络游戏的实现(组图)
- PageRank在Hadoop和spark下的实现以及对比
- libcurl post/get上传下载文件 以及断点下载(操作libcurl 实现断点下载(续点续传))
- 关于ARP攻击的原理以及在Kali Linux环境下的实现
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
- VMware12+Ubuntu16.04 安装 以及全屏的实现