hdu java大整数gcd_hdu 5050 java程序求大数最大公约数

import java.io.*;

import java.math.*;

import java.util.*;

import java.text.*;

public class Main

{

public static void main(String[] args)

{

int e=0,i,j;

BigInteger f,ff,p,h,a,aa,ee[]=new BigInteger[1100];

String s,str;

char[] ss=new char[1100];

char strr[]=new char[1100];

Scanner cin = new Scanner (System.in);

int k=cin.nextInt();

boolean d=true;

while(d) {

s=cin.next();

str=cin.next();

ss=s.toCharArray();//字符串转化为字符数组

strr=str.toCharArray();

f=BigInteger.valueOf(0);

aa=BigInteger.valueOf(2);

for(i=0;i

f=f.multiply(aa);

a=BigInteger.valueOf(ss[i]-'0');

f=f.add(a);

}

ff=BigInteger.valueOf(0);

for(i=0;i

ff=ff.multiply(aa);

a=BigInteger.valueOf(strr[i]-'0');

ff=ff.add(a);

}

h=BigInteger.valueOf(0);

do {

p=f.mod(ff);

f=ff;

ff=p;

if(ff.equals(h))break;

}while(true);

i=0;

while(true) {//大整数储存到大整数数组里面

ee[i]=f.mod(aa);

f=f.divide(aa);

i++;

if(f.equals(h))break;

}

e=e+1;

System.out.print("Case #"+e+": ");

for(j=i-1;j>=0;j--)

System.out.print(ee[j]);

System.out.println();

k=k-1;

if(k==0)

d=false;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值