hdoj 1002 A+B Problem II
发布时间:2020-12-14 02:53:33 所属栏目:大数据 来源:网络整理
导读:原来一直比较烦大数题,写了两个慢慢好了,几点注意以下 1.变量名以后要养成习惯和规律 2. printf输出string要转换成c_str() /*PROG:A + B ProblemLANG: C++11 */#include cstdio#include cmath#include cstring#include string#include cstdlib#include cli
原来一直比较烦大数题,写了两个慢慢好了,几点注意以下 1.变量名以后要养成习惯和规律 2. printf输出string要转换成c_str() /* PROG:A + B Problem LANG: C++11 */ #include <cstdio> #include <cmath> #include <cstring> #include <string> #include <cstdlib> #include <climits> #include <ctype.h> #include <queue> #include <stack> #include <vector> #include <utility> #include <deque> #include <set> #include <map> #include <iostream> #include <fstream> #include <algorithm> #include <time.h> using namespace std; #define mst(a,b) memset(a,b,sizeof(a)) typedef long long ll; const int N = 100010; const ll MOD = 1000000007; const int INF = 0x7fffffff; void solve(string s1,string s2,int t,int tt){ int m = s1.size()-1; int n = s2.size()-1; int carry = 0; int d1,d2; string ans; for(int i = m,j = n; i >= 0 || j >= 0 || carry ; i--,j--){ d1 = i >= 0 ? int(s1[i] - '0') : 0; d2 = j >= 0 ? int(s2[j] - '0') : 0; carry = carry + d1 + d2; ans = (char) (carry%10 + '0') + ans; carry /= 10; } printf("Case %d:n",t); printf("%s + %s = %sn",s1.c_str(),s2.c_str(),ans.c_str()); if(t != tt) printf("n"); } int main() { int n; cin >> n; string s1,s2; for(int i = 1; i <= n; i++){ cin >> s1 >> s2; solve(s1,s2,i,n); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |