HDU 1002 A+B problem
来源:互联网 发布:淘宝专业版退回基础班 编辑:程序博客网 时间:2024/05/16 10:04
#include"stdio.h"#include"string.h"int main(){int T,a=1,i,j,len1,len2,a1[1001],a2[1001],a3[1001],flag=0;char s1[1001],s2[1001];scanf("%d",&T);while(T--){ scanf("%s %s",s1,s2);len1=strlen(s1);len2=strlen(s2);memset(a1,0,1001*sizeof(int));memset(a2,0,1001*sizeof(int)); memset(a3,0,1001*sizeof(int)); for(i=len1-1,j=0;i>=0;i--,j++)a1[j]=s1[i]-'0'; for(i=len2-1,j=0;i>=0;i--,j++)a2[j]=s2[i]-'0';//add(a1,a2,a3,len1,len2);int len=(len1>=len2)?len1:len2;for ( i=0;i<len;i++){a3[i]+=a1[i]+a2[i];a3[i+1]=a3[i]/10;a3[i]%=10;} //put(s1,s2,a3,a,i);printf("Case %d:\n",a);printf("%s + %s = ",s1,s2);if(a3[len]) flag=1;if(flag){for (i=len;i>=0;i--){printf("%d",a3[i]);}}else{for (i=len-1;i>=0;i--){printf("%d",a3[i]);}}if(T!=0) printf("\n"); printf("\n");a++;}return 0;}
一开始是用倒着加 ,但是很麻烦要考虑很多特殊情况,比如001+1 等此类情况。
所以我用这种方法了 挺方便的
#include <iostream>//#include <stdio.h>#include <cstring>using namespace std;void caulate_x(int ss1[],int ss2[],int sum[]){ for (int i=0;i<1000;i++) {sum[i] += ss1[i]+ss2[i];sum[i+1] += sum[i]/10;sum[i] %=10; }}void fun(char s[],int ss[],int len){int j=0; for (int i=len-1;i>=0;i--) { ss[j++] = s[i]-'0'; }}int main(){int n,i,k;cin>>n;char s1[1001],s2[1001];int ss1[1001],ss2[1001];int sum[1001];for (i=1;i<=n;i++){ cin>>s1>>s2; memset(ss1,0,sizeof(ss1)); memset(ss2,0,sizeof(ss2)); memset(sum,0,sizeof(sum)); fun(s1,ss1,strlen(s1)); fun(s2,ss2,strlen(s2)); caulate_x(ss1,ss2,sum); cout<<"Case "<<i<<":"<<endl; printf("%s + %s = ",s1,s2); k=1000; while (!sum[k]) k--; cout<<sum[k--]; for (;k>=0;k--) { printf("%d",sum[k]); } if(i!=n) cout<<endl<<endl; else cout<<endl;}return 0;}
0 0
- hdu 1002 A+B problem ||
- hdu 1002 A+B Problem
- HDU 1002 A+B Problem
- hdu 1002 A+B Problem ||
- HDU 1002 A+B problem
- hdu A + B problem
- HDU 1002 A + B Problem II
- HDU 1002A + B Problem II
- HDU 1002 - A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A+B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II (BigNums)
- Apache POI 简介
- MS SQL中ISNULL用法
- spark 集群模式读写mysql 问题的处理
- C++连接出错问题解决 DCI 数据库
- 二级指针的用法
- HDU 1002 A+B problem
- 数值计算
- 算法 quick sort
- dp(hdu5185-Equation)
- 新功能:Azure Traffic Manager 嵌套配置文件
- tomcat Win64/Linux64 下的安装
- linux命令ps aux|grep xxx详解
- 我比较喜欢编程,也喜欢自学一些新的东西
- Augmented reality