版权声明:本人大三在读,有错误烦请指正,共同进步- ( ゜- ゜)つロ 乾杯~点赞请按右上角,转载请标明出处: https://blog.csdn.net/hzyhfxt/article/details/83898048
不出意外都用c/c++~~(Java,python稀有掉落)
1000
大整数加法(Java实现)
import java.util.*;
import java.math.*;
public class Main{
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
BigInteger a, b;
while (cin.hasNext()) //以文件EOF结束
{
a = cin.nextBigInteger();
b = cin.nextBigInteger();
System.out.println(a.add(b)); //大整数加法
}
}
}
1001
要换两次行...
#include <stdio.h>
int main()
{
long long n;
while(scanf("%lld",&n) != EOF)
{
printf("%lld\n\n",(1 + n) * n / 2);
}
return 0;
}
1002
大数加法(c++实现),注意一下换行格式~
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <map>
#include <list>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <iostream>
#define go(i,a,b) for(int i=a;i<=b;i++)
#define og(i,a,b) for(int i=a;i>=b;i--)
#define mem(a) memset(a,0,sizeof(a))
#define cs cout<<"-----"<<endl;
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn = 1e6 + 5;
const double pi = atan(1.)*4;
typedef long long ll;
char a[1000],b[1000],ans[1005];
void add(char* a,char* b,char* c)//大数a(1000位之内)+ 大数b(1000位之内)= 存到字符串数组c中
{
int i,j,k,max,min,temp;
char *s,*pmax,*pmin;
max=strlen(a);
min=strlen(b);
if (max<min)
{
temp=max;
max=min;
min=temp;
pmax=b;
pmin=a;
}
else
{
pmax=a;
pmin=b;
}
s=(char*)malloc(sizeof(char)*(max+1));
s[0]='0';
for (i=min-1,j=max-1,k=max;i>=0;i--,j--,k--)
s[k]=pmin[i]-'0'+pmax[j];
for (;j>=0;j--,k--)
s[k]=pmax[j];
for (i=max;i>=0;i--)
if (s[i]>'9')
{
s[i]-=10;
s[i-1]++;
}
if (s[0]=='0')
{
for (i=0;i<=max;i++)
c[i-1]=s[i];
c[i-1]='\0';
}
else
{
for (i=0;i<=max;i++)
c[i]=s[i];
c[i]='\0';
}
free(s);
}
int main()
{
int t;
cin>>t;
go(i,1,t)
{
if(i!=1) cout<<endl;
cin>>a>>b;
add(a,b,ans);
printf("Case %d:\n",i);
cout<<a<<" + "<<b<<" = ";
cout<<ans<<endl;
}
return 0;
}