加法
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
char input1[205];
char input2[205];
int main(){
while(scanf("%s%s",input1,input2)!=EOF){
int a[205] = {0}; // 每次循环初始化为0
int b[205] = {0};
int c[205] = {0};
int maxlen = max(strlen(input1),strlen(input2));
int la = strlen(input1);
int lb = strlen(input2);
for(int i = la - 1;i >= 0;i--){
a[la - i - 1] = input1[i] - '0';
}
for(int i = lb - 1;i >= 0;i--){
b[lb - i - 1] = input2[i] - '0';
}
//計算
for(int i = 0;i < maxlen;i++){
c[i] += a[i] + b[i];
c[i + 1] += c[i]/10;
c[i] %= 10;
}
int lc = maxlen + 1;
while(c[lc] == 0 && lc > 0){
lc--;
}
for(int i = lc;i >= 0;i--){
printf("%d",c[i]);
}
printf("\n");
}
return 0;
}
阶乘
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int main(){
int n;
while(scanf("%d",&n) != EOF){
int a[50] = {0};
a[49] = 1;
int carry = 0;
while(n--){
for(int i = 49;i >= 0;i--){
int temp = a[i] * 2 + carry;
carry = temp / 10;
a[i] = temp % 10;
}
}
int st = 0;
while(a[st] == 0){
st++;
}
for(;st <= 49;st++){
printf("%d",a[st]);
}
printf("\n",a[st]);
}
return 0;
}
阶乘的和
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int s[101]={0};int a[101]={0};
//求阶乘
void c(int y,int s[],int a[]){
int f=0;//进位
for(int i=100;i>-1;i--){
s[i]=s[i]*y+f;
f=s[i]/10;
s[i]%=10;
}
}
void h(){
int w=0;
for(int i=100;i>-1;i--){
a[i]=a[i]+s[i]+w;
w=a[i]/10;
a[i]%=10;
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
s[100]=1;
a[100]=1;
for(int i = 2;i < n + 1;i++){
c(i,s,a);
h();
}
int k = 0;
while(a[k] == 0)k++;
for(int i = k;i <= 100;i++){
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
除法
import java.util.*;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = sc.next();
BigInteger aa = new BigInteger(a);
BigInteger bb = new BigInteger(b);
BigInteger res1 = aa.divide(bb);
BigInteger res2 = aa.remainder(bb);
System.out.println(res1);
System.out.println(res2);
sc.close();
}
}