专栏文章

P1001 题解

P1001题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mip4dgig
此快照首次捕获于
2025/12/03 05:58
3 个月前
此快照最后确认于
2025/12/03 05:58
3 个月前
查看原文
这道题目其实很简单啊,直接写出代码:
CPP
#include <bits/stdc++.h>
using namespace std;

int main(){
	short a, b;
	cin >> a >> b;
	cout << a+b;
	return 0; 
}
但交上去后……竟然只有30分! 所以这时候我们仔细观察题目: a,b<=109|a|,|b|<= 10^9, 所以我们很容易就能联想到可以用高精去做(很容易吗?)

代码如下(珍爱生命,远离抄袭)
CPP
#include<bits/stdc++.h>
using namespace std;
char a[1005],b[1005];
int numa[1005],numb[1005];
int main(){
	scanf("%s%s",a,b);
	int lena=strlen(a),lenb=strlen(b),x=0,i;
	
	for(i=0;i<lena;i++) numa[i]= a[lena-i-1]-'0';
	for(i=0;i<lenb;i++) numb[i]= b[lenb-i-1]-'0';
	
	lena = max(lena,lenb);
	for(i=0;i<=lena;i++)
		x=numa[i] + numb[i],numa[i]=x%10,numa[i+1]+=x/10;
	while(!numa[i] && i) i--;
	for( ; i>=0;i--) printf("%d",numa[i]);
	return 0;
}
完结撒花~

评论

0 条评论,欢迎与作者交流。

正在加载评论...