1:小学生算术
#include<stdio.h> #include<string.h> #define ll long long int main() { ll a,b,aa,bb; while(scanf("%lld%lld",&a,&b)!=EOF) { if(a==0&&b==0)break; aa=a>b? a:b; bb=a<b? a:b; ll jin=0,ans=0; while(bb) { if(jin) ans++; ll c=aa%10;aa/=10; ll d=bb%10;bb/=10; jin=(jin+c+d)/10; } while(aa) { if(jin) ans++; ll c=aa%10;aa/=10; jin=(jin+c)/10; } if(jin) ans++; if(ans==0) printf("No carry operation. "); else if(ans==1) printf("1 carry operation. "); else printf("%d carry operations. ",ans); } return 0; }
2:阶乘的精确值
hdu 1042 n!
这道我是以前做过的,用的是java
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner shuru = new Scanner (System.in); int A,i; while(shuru.hasNext()) { A=shuru.nextInt(); BigInteger B=BigInteger.ONE; for(i=1;i<=A;i++) { B=B.multiply(BigInteger.valueOf(i)); } System.out.println(B); } } }
另外字符模拟处理就不写了,因为多花些时间就可以写好,懒得写了
3:高精度运算类bign
大数运算的模版,可以计算大数+,-,*,/,%,但是对于 - ,前一个数要比后一个数大!