Flask接口签名sign原理与实例代码浅析
230
2023-03-15
Java中两个大数之间的相关运算及BigInteger代码示例
java中两个大数之间的相关运算及BigInteger两段实例代码,具体如下。
大数相减
import java.util.Scanner;
/*
进行大数相减,只能对两个正数进行相减
*/
public class BigNumber
{
public static void main(String[] args)
{
Scanner scan=new Scanner(System.in);
String a,b;
while (scan.hasNext())
{
BigNumber big=new BigNumber();
a=scan.nextLine();
b=scan.nextLine();
System.out.println(big.bigNumberSub(a,b));
}
}
public String bigNumberSub(String x,String y)
{
//String result=null;
char[] a=x.toCharArray();
char[] b=y.toCharArray();
int lenA=a.length;
int lenB=b.length;
int len=lenA>lenB?lenA:lenB;
int[] result=new int[len];
//字符串反转
char[] A=new char[lenA];
char[] B=new char[lenB];
for (int i=0;i { A[i]=a[lenA-i-1]; } for (int j=0;j { B[j]=b[lenB-j-1]; } //判断最终结果的正负 char sign='+'; if (lenA { sign='-'; } else if(lenA>lenB) { sign='+'; } else { for (int i=lenA-1;i>=0;i--) { if (A[i] { sign='-'; break; } else if(A[i]>B[i]) { sign='+'; break; } DecEJLDQS } } // int aint,bint; for (int i=0;i { aint=i bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
{
A[i]=a[lenA-i-1];
}
for (int j=0;j { B[j]=b[lenB-j-1]; } //判断最终结果的正负 char sign='+'; if (lenA { sign='-'; } else if(lenA>lenB) { sign='+'; } else { for (int i=lenA-1;i>=0;i--) { if (A[i] { sign='-'; break; } else if(A[i]>B[i]) { sign='+'; break; } DecEJLDQS } } // int aint,bint; for (int i=0;i { aint=i bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
{
B[j]=b[lenB-j-1];
}
//判断最终结果的正负
char sign='+';
if (lenA { sign='-'; } else if(lenA>lenB) { sign='+'; } else { for (int i=lenA-1;i>=0;i--) { if (A[i] { sign='-'; break; } else if(A[i]>B[i]) { sign='+'; break; } DecEJLDQS } } // int aint,bint; for (int i=0;i { aint=i bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
{
sign='-';
} else if(lenA>lenB)
{
sign='+';
} else
{
for (int i=lenA-1;i>=0;i--)
{
if (A[i]
{
sign='-';
break;
} else if(A[i]>B[i])
{
sign='+';
break;
}
DecEJLDQS }
}
//
int aint,bint;
for (int i=0;i { aint=i bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
{
aint=i bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
bint=i if (sign=='+') { result[i]=aint-bint; } else { result[i]=bint-aint; } } //借位处理 for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
if (sign=='+')
{
result[i]=aint-bint;
} else
{
result[i]=bint-aint;
}
}
//借位处理
for (int j=0;j { if (result[j]<0) { result[j+1]=result[j+1]-1; result[j]=result[j]+10; } } //将结果对应为0的位置取消掉 StringBuilder sb=new StringBuilder(); Boolean flag=true; //防止结果集中的地位出现0 if (sign=='-') { sb.append(sign); } for (int i=len-1;i>=0;i--) { if (result[i]==0&&flag) { } else { sb.append(result[i]); flag=false; } } return sb.toString(); //return result; } } 结果: 在Java中,还可以通过BigInteger类来解决精度问题。 import javahttp://.util.Scanner; import java.math.BigInteger; /* 进行大数相加, */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while (scan.hasNext()) { BigInteger b1=new BigInteger(scan.nextLine()); BigInteger b2=new BigInteger(scan.nextLine()); System.out.println(b1.add(b2)); //System.out.println(000); } } } 结果 接着再看一则代码示例: /** * 大数运算 * BigInteger * 求91的5次方 * 求它除以100的余数 * 大数运算Biginteger类的方法调用 */ package com.test1; import java.math.*; import java.math.BigInteger; public class test100 { /** * @param args */ static BigInteger k=BigInteger.valueOf(1); static BigInteger j=BigInteger.valueOf(91); static BigInteger n; BigDecimal l=new BigDecimal("100"); static BigInteger m=new BigInteger("100"); public static void main(String[] args) { // TODO Auto-generatedmethod stub // k=BigInteger.valueOf(1); // k=new BigInteger("1"); for(int i=1;i<=5;i++){ k=k.multiply(j); System.out.println(k.toString()); // n=k.remainder(m); n=k.remainder(m); System.out.println(n.toString()); } } } 结果: 总结 以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: java算法实现红黑树完整代码示例 java实现的各种排序算法代码示例 Java小程序计算圆周率代码 如有不足之处,欢迎留言指出。
{
if (result[j]<0)
{
result[j+1]=result[j+1]-1;
result[j]=result[j]+10;
}
}
//将结果对应为0的位置取消掉
StringBuilder sb=new StringBuilder();
Boolean flag=true;
//防止结果集中的地位出现0
if (sign=='-')
{
sb.append(sign);
}
for (int i=len-1;i>=0;i--)
{
if (result[i]==0&&flag)
{
} else
{
sb.append(result[i]);
flag=false;
}
}
return sb.toString();
//return result;
}
}
结果:
在Java中,还可以通过BigInteger类来解决精度问题。
import javahttp://.util.Scanner;
import java.math.BigInteger;
/*
进行大数相加,
*/
public class BigNumber
{
public static void main(String[] args)
{
Scanner scan=new Scanner(System.in);
while (scan.hasNext())
{
BigInteger b1=new BigInteger(scan.nextLine());
BigInteger b2=new BigInteger(scan.nextLine());
System.out.println(b1.add(b2));
//System.out.println(000);
}
}
}
结果
接着再看一则代码示例:
/**
* 大数运算
* BigInteger
* 求91的5次方
* 求它除以100的余数
* 大数运算Biginteger类的方法调用
*/
package com.test1;
import java.math.*;
import java.math.BigInteger;
public class test100 {
/**
* @param args
*/
static BigInteger k=BigInteger.valueOf(1);
static BigInteger j=BigInteger.valueOf(91);
static BigInteger n;
BigDecimal l=new BigDecimal("100");
static BigInteger m=new BigInteger("100");
public static void main(String[] args) {
// TODO Auto-generatedmethod stub
// k=BigInteger.valueOf(1);
// k=new BigInteger("1");
for(int i=1;i<=5;i++){
k=k.multiply(j);
System.out.println(k.toString());
// n=k.remainder(m);
n=k.remainder(m);
System.out.println(n.toString());
}
}
}
结果:
总结
以上就是本文关于Java中两个大数之间的相关运算及BigInteger代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
java算法实现红黑树完整代码示例
java实现的各种排序算法代码示例
Java小程序计算圆周率代码
如有不足之处,欢迎留言指出。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~